powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / C++ [игнор отключен] [закрыт для гостей] / export functions в DLL
7 сообщений из 7, страница 1 из 1
export functions в DLL
    #32049390
gminter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть VC 6 или7
Задача - написать DLL-ну с экспортируемой функцией
Способ решения
#define DllExport __cdecl(dllexport);
................
DllExport void function MyFunc () {};
................
Все как в MSDNе и написано.
После билда DLL в разделе её экспорта dumpbin-ом находим такую функцию:
MyFunc$%^&*
или такую
MyFunc*&^$
или что-то в таком духе.
Подскажите, как с этим бороться, и почему имя функции дополняется краказябрами.

С ув, Gary
...
Рейтинг: 0 / 0
export functions в DLL
    #32050865
Тоже самое и у меня происходит если использовать __cdecl(dllexport). А при использовании def файла нет этих краказябр. Почему не могу понять.
Еще одна вещь непонятная. В BOL сказано, что dll в которой расширенные процедуры желетельно должна экспортировать функцию
__GetXpVersion()
{
return ODS_VERSION;
}
иначе при регистрации dll на SQL сервере в Application log будет сообщение о том что используется dll неизвестной версии. Так вот я экспортирую данную функцию, но результат остается прежним. Причем когда экспортирую при помощи __cdecl(dllexport) SQL server вообще не находит данной процедуры в dll.
...
Рейтинг: 0 / 0
export functions в DLL
    #32054607
gminter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Самое удивительное заключается в том что MSDN дает ясный комментарий -
использовать __cdecl(dllexport)
как наиболее продвинутый и рулезный способ экспорта.

Насчет def файла сказано, что это в общем то вчерашний день ))))))))))))) Вот и верь после этого мелкософту )))
Наверняка существует какое-то магическое действие из пяти (или трех) букв, но найти его не могу.
...
Рейтинг: 0 / 0
export functions в DLL
    #32054668
Vlad_P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скорее всего вы используете С++, который и довешивает имена функций такими козябрами. Для экспорта я бы порекомендовал посмотреть примеры. Там такие функции объявляются примерно так
extern "C"
{
BOOL WINAPI PrxDllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved);
}
...
Рейтинг: 0 / 0
export functions в DLL
    #32054971
gminter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Влад !!!
Спасибо !!!!!!
Работает !!!
...
Рейтинг: 0 / 0
export functions в DLL
    #32055023
2 gminter.
Что-то я ничего не видел в MSDN ничего такого по поводу того, что использование def файла это отстой. И как я понял, что использование def файла ни чем не хуже. Если я не прав не могли бы пояснить в чем?
...
Рейтинг: 0 / 0
export functions в DLL
    #32056820
Mike Kostyuhin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Лучше всего использовать .def файл

.def file

LIBRARY "MyDLL.DLL"

EXPORTS
MyFunc


.cpp or .c file

EXTERN_C int MyFync(...)
{
return 0
}

Тип вызова вункции может быть любой (__cdecl, __stdcall)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / export functions в DLL
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]