ホームページ > バックエンド開発 > C++ > DLLEXPORT/DLLIMPORT マクロの COMPILING_DLL を適切に定義するにはどうすればよいですか?

DLLEXPORT/DLLIMPORT マクロの COMPILING_DLL を適切に定義するにはどうすればよいですか?

DDD
リリース: 2024-11-29 11:51:10
オリジナル
810 人が閲覧しました

How Do I Properly Define COMPILING_DLL for DLLEXPORT/DLLIMPORT Macros?

dllexport/dllimport スイッチのマクロ

提供されたコード スニペットは、COMPILING_DLL マクロの値に基づいて関数に dllexport または dllimport 属性を追加するマクロ DLLEXPORT を定義します。ただし、COMPILING_DLL をどこでどのように定義する必要があるかという疑問は残ります。

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート