Функции windows api являются stdcall, но не имеют @number, а в Windows это стандартная практика.

ался экспортировать простую тестовую функцию для DLL для работы с приложением (fyi: mIRC), которое определяет соглашение о вызовах как:

int __stdcall test_func(HWND mWnd, HWND aWnd, char *data, char *parms, BOOL show, BOOL nopause)

Теперь, чтобы вызвать это из приложения, я бы использовалtest_func но я заметил из-за искажения имени это не так просто, как я думал.

Благодаря подобным темам здесь я пришел к пониманию того, что с помощьювнешний "C" в комбинации с__declspec (dllexport) является эквивалентным (несколько) методом удаления искажения в определениях модулей (.def). Однако при использовании метода extern / dllexport моя функция (в качестве примера) всегда_test_func @ номер тогда как .def удалил все искажения, необходимые для использования с приложением, в которое мне нужно было экспортировать.

Может кто-нибудь объяснить, почему это так? Мне просто интересно узнать о двух методах. Спасибо!

Ответы на вопрос(2)

Ваш ответ на вопрос