Visual Studio 2008で__stdcallを使用してdllをコンパイルすると、dll内のコンパイルされた関数名が表示されます。我々はWX-DEV-CPPを使用してGCCを使用して同じDLLをコンパイルするとき__stdcallでdllをコンパイルするGCC
FunctionNameは
はしかしGCCは、関数がありparamersの数を追加し、その依存関係ウォーカーを使用して関数の名前は次のようになります。 8
@ numberOfParametersまたは== FunctionNameは@
FunctionNameはどのようにDLL内のエクスポートされたシンボルから@nn削除するGCCコンパイラを教えていますか?
返信いただきありがとうございました。別の開発者がDEFファイルをプロジェクトに配置したという問題が発生していました。このDEFファイルは、DLL内で使用する命名規則をリンカーに指示しました。これが、同じ呼び出し規約でも異なるライブラリ名を取得した理由です。 解決策は、開発者の1人が、プロジェクト用に独自のDLLを作成するときにヘッダーファイルからWINAPIを削除したことが判明しました。これにより、Windows Visual Studioが__cdecl(/ Gd)のデフォルトの呼び出し規約に戻っていました。 – Chad