Re[2]: Как линковать DLL c __stdcall без манглирования
От: nnye  
Дата: 13.01.03 15:11
Оценка:
Здравствуйте, Valerio, Вы писали:

V>добавь .def file такого типа:


V>EXPORTS

V> f PRIVATE

V>и радуйся жизни!


N>>Всем здравствуйте!

N>>Есть dll — она экспортирует функции (имена без манглирования как в WinAPI) Соглашение о вызове — тоже __stdcall.
N>>Вопрос — как залинковать библиотеку к файлу?
N>>
N>>// линкует, но рушит стек, т.к. __cdecl
N>>extern "C" double f(double, double);

N>>// не может линкануть, т.к. имя __imp_?f@@YGNNN@Z
N>>__declspec(dllimport) double __stdcall f(double, double);

N>>// не может линкануть, т.к. имя _wspUPT@16 
N>>extern "C" double __stdcall f(double, double);   
N>>   // Такой способ используется в заголовках windows sdk. 
N>>   // Как избавиться от размера передаваемых аргументов на 
N>>   // конце? может есть какая-то спец опция компилятора?
N>>

N>>Помогите, плз, кто может!!!

V>


К сожалению такой вариант не работает...
Единственое решение, которое я нашел, — линковать по ординалу — но это плохо, поскольку в другой версии длл ордииналы могут поменяться
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.