私はここで何を得ているのかというと、ダムとノービーの質問ですが、ウェブ上で答えを見つけられません。 私は(既存のC++プロジェクトのうち)DLLプロジェクトを作成したい場合は、私は.hファイルの先頭に以下の行を実装する必要があることを読んで:DLLファイル内の複数のクラス
#ifdef _EXPORTING
#define CLASS_DECLSPEC __declspec(dllexport)
#else
#define CLASS_DECLSPEC __declspec(dllimport)
#endif
私は例を見てMSDN:
// MathFuncsDll.h
#ifdef MATHFUNCSDLL_EXPORTS
#define MATHFUNCSDLL_API __declspec(dllexport)
#else
#define MATHFUNCSDLL_API __declspec(dllimport)
#endif
は今、私は私が作るすべての新しいクラスのための「_EXPORTING」と「CLASS_DECLSPEC」を変更する必要がありますか、理解したいですか?
// FooDll.h
#ifdef FOO_EXPORTS
#define FOO_API __declspec(dllexport)
#else
#define FOO_API __declspec(dllimport)
#endif
または:「MathFuncsDll.hは」私は.hファイルの先頭に以下の行を配置する必要があるだろうと私は同じプロジェクト内で「foo」という名前のクラスを作成したい場合例えば いくつかの行は、プロジェクトのすべての.hファイルで同じですか?
さらに、namespace
を使用してDLL全体を1つとして参照し、そこからクラスを抽出すると、すべての.hファイルにusing namespace *NAME*
を入れる必要がありますか?
マクロが何であるかを学び、何が起こっているのかを知ることができます。 – PcAF