Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > DLL


Автор: Bratsman 29.6.2004, 18:33
Создаю проект (VC6) Win32 dynamic-linked library, такой, который "экспортирует хоть что-нибудь". Компилю. Делаю DLL. Создаю простейшее приложение, которое, сначала открывает DLL(LoadLibrary), затем берёт из неё функцию(GetProcAddress). Лоадится нормально, а GetProcAddress возвращает NULL... withstupid.gif

Автор: _hunter 29.6.2004, 18:36
что GetLastError() возвращает?

Автор: mr.DUDA 29.6.2004, 19:08
Если экспортируемая из длл ф-ция не объявлена с модификатором "С", и не прописана в EXPORTS (либо не объявлена с __declspec(__dllexport)), то никак ты её не "увидишь" по её имени через GetProcAddress...

З.Ы. в C++ FAQ есть такая тема !!!

Автор: Масяня 30.6.2004, 05:01
Все дело в декорировании имен, т.е. MyProc(DWORD dwOps) может быть типа "_MyProc@4" и вот его и передавай в GetProcAddress(), утилита Depends может помочь!
Ну а чтобы имена в коде были такими же как в экспорте надо юзать .def файл или extern "C"...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)