マクロを使用した dllexport/dllimport の管理
最初の質問は、DLL 関数をエクスポートするかインポートするかを決定する COMPILING_DLL の定義を中心にしています。ただし、この記事では、エクスポート/インポート動作を設定するための別のアプローチを提供します。
デフォルト マクロの使用
1 つのオプションは、ローカルの定義済みマクロを利用することです。プロジェクト。このマクロは、[プロパティ] -> [プロパティ] にあります。 C/C ->プリプロセッサ ->プリプロセッサの定義。たとえば、プロジェクトの名前が「MyDLL」の場合、デフォルトのローカル マクロは MYDLL_EXPORTS になります。
実装
DLLEXPORT は次のように定義できます。
#ifdef MYDLL_EXPORTS #define DLLEXPORT __declspec(dllexport) #else #define DLLEXPORT __declspec(dllimport) #endif
使用法
DLLEXPORT を使用して、DLL プロジェクトのコンパイル時に関数をエクスポートとして定義し、クライアント コードで DLL を使用するときに関数をインポートとして定義します。
特典
これこの方法にはいくつかの利点があります。
結論
デフォルトのローカル マクロを活用することで、追加のマクロや複雑なロジックに依存することなく、dllexport/dllimport スイッチを効果的に管理できます。このアプローチにより、一貫した動作が保証され、コードのメンテナンスが簡素化されます。
以上がC で DLL のエクスポート/インポート管理を簡素化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。