在vs2003中,dll的生成、编写、注意事项

dll的生成与编写

一、dll生成的环境

1、IDE:vs2003

2、编程语言:c++

二、dll的编写过程

1、建立dll工程

     在vs2003的菜单选项中,选择“新建项目”,选择“visual C++的win32”,之后输入要新建的名字,在之后弹出的对话框中选择“dll”,另外把复选框“空项目”勾上。

2、dll的编写

#include <string> using namespace std;

#ifdef FLVDLLDEF #define FLVDLLAPI extern "C" __declspec(dllexport) //#define FLVDLLAPI  __declspec(dllexport) #else #define FLVDLLAPI extern "C" __declspec(dllimport) //#define FLVDLLAPI  __declspec(dllimport) #endif

  class IFlvDetector { public:  virtual void StartDetector(string strHtml)=0;  virtual string GetResultString()=0; }; FLVDLLAPI IFlvDetector* CreateFlvDetector();

FLVDLLAPI IFlvDetector* CreateFlvDetector();

    上面这段代码应该被包含是两个工程中,一个是dll的工程,另一个是调用dll的应用程序的工程中。其中在dll的工程中,应该在项目属性的预处理器定义中加上“FLVDLLDEF”的命令,这样子在dll中,就会生成包含导出函数的lib和dll。在调用dll的应用程序工程中,不用加“FLVDLLDEF”,这样子就会在这个工程中导入头文件中的函数。其中对外的接口,是CreatFlvDetector()。生成该对象之后,就可以调用StartDetector()和GetResultString()。

三、dll的注意事项

1、在dll工程中,会生成两个文件:dll和lib文件。其中dll是包含实际代码的文件,lib是dll中的导出函数的符号表。

2、在调用dll的工程中,需要三个文件:dll、lib、头文件。

1)dll文件应该放在exe的同一个文件夹中。

2)lib文件需要包含是应用程中。具体的过程是:在调用dll的应用程序工程中,选择项目属性,之后在“连接器”选项卡中,选择“输入”,之后再选择“附加依赖项”,在后面添加lib的名字即可。

3)头文件,应该被调用dll的应用程序工程中include,和其他的标准头文件是一样的。

你可能感兴趣的:(编程,String,dll,exe,语言,include)