【发布时间】:2015-03-18 12:37:55
【问题描述】:
我正在尝试向我的 GNU 编译的 DLL 添加一个 stdcall 调用约定。
这是我的代码:
typedef void (__stdcall * CTMCashAcceptCallback) (
const struct CTMEventInfo,
const struct CTMAcceptEvent );
已被此函数调用:
LIBCTMCLIENT_FUNC void ctm_add_cash_accept_event_handler(CTMCashAcceptCallback);
地点:
#define LIBCTMCLIENT_FUNC LIBCTMCLIENT_C_LINKAGE __declspec(dllexport) __stdcall
问题是它给了我这个注释:
注意:预期为“CTMCashAcceptCallback”,但参数类型为“void (*)(const struct CTMEventInfo, const struct CTMAcceptEvent)”
当我删除 __stdcall 或将其替换为 __cdecl 时,它不会提供该信息。通过 GNU 编译时不能使用 stdcall 还是我做的不对?
【问题讨论】: