как заюзать объект класса из длл-ки
От: leonty  
Дата: 30.07.08 08:10
Оценка:
Предположим у меня есть длл с реализацией некого класса. Хочется подгрузить
её и использовать объект, ею реализуемый. Ну в общем плагин (может быть написан
сторонним разработчиком на неизвестно каком компиляторе).

Правильно ли я представляю себе все возможные грабли ? :

1. создать объект в основном коде обычным способом не удастся, потому как
декорирование имён может различаться и строчка A *a = new A(); просто не
слинкуется из-за неизвестно как задекорированного имени конструктора. Поэтому
придётся пользоваться фабричной export C функцией, реализованной в длл.

2. длл будет (всегда?) использовать встроенную в неё реализацию new и размещение
объекта в памяти будет как хотел компилятор длл-ки.

3. мое обращение к этому объекту будет в соответствии с реализацией моего компилятора
и может случиться цирк, если какой-нить член будет принят за указатель на VTBL).

Получается, что если хочется полной независимости от компиляторов, то плагин придется
делать только на export C функциях ?
плагин plugin длл dll объект object класс class vtbl
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.