Re: export DLL
От: A.V.B.  
Дата: 04.10.03 06:05
Оценка:
Здравствуйте, Torero2002, Вы писали:

T>У меня такая проблема: я экспортирую статическую функцию класса:

T>static DWORD WINAPI Test;

T>Пишу в ee DEF файле. Но снаружи она недоступна. Вывдеется ошибка unresolved symbol. Как это побороть?


Дя экспорта функции void foo(void) нужно описать ее в секции декларации как

extern "C" void foo(void);
Вообще советую посмотреть документацию на создание def файлов и на формат extern директивы.

А в def файле
EXPORT
foo

В данном случае функция будет экспортирована как С функция, и ее имя сможет быть разрешено любым компилятором. Даже убогим Borland.

а вот __declspec(dllexport) врятли будет понят Borland компилятором.

Тип вызова (_cdecl, _stdcall) определять, в принципе обязательно, если он не указан явно, он возьмется из настроек опций проекта. Вообще лучше использовать классические типы вызова (_cdecl, _stdcall). Кто знает
откуда вам придется звать эту функцию
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.