0

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 を使用することはできませんか、それとも正しく行っていないのでしょうか?

4

1 に答える 1