タグ付けされた質問 「name-decoration」

4
dllexportを使用してDLLから関数をエクスポートする
C ++ Windows DLLから関数をエクスポートする簡単な例を教えてください。 ヘッダー、.cppファイル、および.defファイル(絶対に必要な場合)を確認したい。 エクスポートされた名前を装飾しないでください。最も標準的な呼び出し規約(__stdcall?)を使用したいと思います。ファイル__declspec(dllexport)を使用する必要はありません.def。 例えば: //header extern "C" { __declspec(dllexport) int __stdcall foo(long bar); } //cpp int __stdcall foo(long bar) { return 0; } 名前にアンダースコアや数値(バイトカウント)が追加されないようにしています。 同じヘッダーをサポートせずdllimport、dllexport使用してもかまいません。C ++クラスメソッドのエクスポートに関する情報は必要ありません。Cスタイルのグローバル関数だけです。 更新 呼び出し規約を含めない(およびを使用するextern "C")と、希望どおりのエクスポート名が得られますが、それはどういう意味ですか?pinvoke(.NET)、declare(vb6)、およびGetProcAddress予想されるデフォルトの呼び出し規約は何ですか?(GetProcAddressこれは、呼び出し元が作成した関数ポインターに依存すると思います)。 このDLLをヘッダーファイルなしで使用したいので#defines、呼び出し元がヘッダーを使用できるようにするために、それほど多くの機能を必要としません。 私は*.defファイルを使用しなければならないという答えで大丈夫です。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.