C++ダイナミックリンクライブラリの作成と使用


以前はdllを作る習慣がなく、書いたコードも自分で使いました.今の仕事は自分のコードをカプセル化して他の人のシステムに移植する必要があります.dllは少なくありません.
自分のプロジェクトに基づいて、小さな例を書きます.
コンパイル環境:
        windows 7
        VS 2008
工事はもともとconsoleに基づいていたが,現在はdllに基づいている.
最初のステップは、
プロジェクトのプロパティ->構成プロパティ->一般->構成タイプのアプリケーション(.exe)をダイナミックライブラリ(.dll)に変更します.
2つ目のステップは、
元のmain関数があるファイルを削除し、自分のダイナミックライブラリクラスファイルkeyptdetdllを追加します.h和.keyptdetdllcpp.
        keyptdetdll .h和.keyptdetdllcppファイルは、ここで追加する点で、通常のクラスファイルとほぼ似ている.hファイルは開始点:
#ifndef KEYPTDETDLL_H
#define KEYPTDETDLL_H

#ifdef  KEYPT_EXPORT
#define KEYPTDETDLL __declspec(dllexport)
#else
#define KEYPTDETDLL __declspec(dllimport)
#endif

         __declspec(dllexport)修飾により、DLLは他のアプリケーションで使用するためにこの機能をエクスポートすることができる.クラス宣言に修飾子を追加します.
class KEYPTDETDLL IKeyPointDetector
{
public:
	IKeyPointDetector();
	~IKeyPointDetector();
public:
	
};

ステップ3
クラスの他の機能を加えると、コンパイル、リンクできます.以前はconsoleからdllに移行していたので、出力ファイルの名前をdllの名前に接尾辞を変更する必要があります(プロジェクトプロパティ->構成プロパティ->リンク->一般->出力ファイル).リンクに成功すると、対応するlibファイルとdllファイルが表示されます.
ステップ4、デバッグとテスト.
一般的に、生成されたdllのデバッグとテストを容易にするために、1つのソリューションの下にもう1つのプロジェクトが追加されます.
このテストエンジニアリングでは、プロジェクトプロパティ->構成プロパティ->リンク->追加依存項目に、前に生成したlibファイルを追加し、プロジェクトプロパティ->構成プロパティ->リンク->添付依存ライブラリにdllのパスを追加してデバッグおよびテストする必要があります.
やっていない前は複雑だと思っていたが、実行に成功した後は簡単だと思った.
参照先:http://msdn.microsoft.com/zh-cn/library/ms235636.aspx
転載は以下のことを明記してください.http://blog.csdn.net/shaoxiaohu1/article/details/15075287