Страницы

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

понедельник, 13 апреля 2020 г.

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

#cpp #dll

                    
у меня есть функция в DLL:

extern "C" __declspec(dllexport) void test(char *text, len);


Как правильно её вызвать из командной строки? Пока пытаюсь делать так:

rundll32 mydll.dll,test "string" 6

    


Ответы

Ответ 1



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

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

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