提供されたコード スニペットは、COMPILING_DLL マクロの値に基づいて関数に dllexport または dllimport 属性を追加するマクロ DLLEXPORT を定義します。ただし、COMPILING_DLL をどこでどのように定義する必要があるかという疑問は残ります。
1 つのオプションは、プロジェクトにローカルに定義されているデフォルトのマクロを使用することです。これらのマクロは、プロパティ -> にあります。 C/C ->プリプロセッサ ->プリプロセッサ定義.
たとえば、プロジェクトの名前が MyDLL の場合、デフォルトのマクロは MYDLL_EXPORTS です。このマクロは次のように使用できます。
#ifdef MYDLL_EXPORTS #define DLLEXPORT __declspec(dllexport) #else #define DLLEXPORT __declspec(dllimport) #endif
DLL プロジェクトをコンパイルするときに、MYDLL_EXPORTS が定義され、DLLEXPORT を「エクスポート」として有効にします。クライアント コードで DLL を使用する場合、MYDLL_EXPORTS は定義されず、DLLEXPORT を「インポート」として有効にします。
このアプローチにより、DLL のコンパイルとクライアント コードでの使用の両方に同じヘッダーを使用できます。
以上がDLLEXPORT/DLLIMPORT マクロの COMPILING_DLL を適切に定義するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。