Страницы

Поиск по вопросам

суббота, 6 июля 2019 г.

Вызов функции из DLL из командной строки

у меня есть функция в DLL:
extern "C" __declspec(dllexport) void test(char *text, len);
Как правильно её вызвать из командной строки? Пока пытаюсь делать так:
rundll32 mydll.dll,test "string" 6


Ответ

Почитайте описание как использовать rundll32. Вкратце - не любая ф-ция может быть вызвана из библиотеки, а строго следующая определенным соглашениям, описанным в статье по ссылке. Если по-простому и по-русски, то rundll32 поддерживает только ф-ции со следующей сигнатурой: void CALLBACK EntryPoint(HWND hwnd, HINSTANCE hinst, LPSTR lpszCmdLine, int nCmdShow); Обратите внимание на аргументы и на то, что ф-ция должна следовать соглашению _stdcall, а не _cdecl

Комментариев нет:

Отправить комментарий