把vc中的类封装成dll的简单方法(转)

如果已经写好了一个C++的类exp,希望把它做成dll动态链接库,这里介绍一种简单的方法。 

1、制作dll 
       利用VC6新建工程命名为exp并选择win32 dynamic-Link Library,确定完成。将exp的头文件exp.h及cpp文件exp.cpp拷入工程exp的目录下,并覆盖重复文件。

与一般写类的定义不同,在exp.h中需要写成 
   class __declspec(dllexport) exp 
   { 
      ... 
   } 
   从而说明以后从dll要被导出的类是哪一个。这样编译完就会产生exp.dll和exp.lib两个文件。 

 

2、dll的调用 

方法一:
   当已经生成dll后,可以在其它程序中调用dll中的类和成员函数。方法如下: 
     a)把exp.dll和exp.lib复制到调用程序的执行路径下,注意不是debug路径下。 
     b)在project->setting->link里添加exp.lib 
     c)把exp.h复制到调用程序的执行路径下,将__declspec(dllexport)改成__declspec(dllimport) 
   这样在主程序中就可以使用exp.h中声明的类和它的成员函数了。


方法二(推荐):
       在方法一中,你每次建立一个工程都需要把 TransferFunction.dll,TransferFunction.lib,TransferFunction.h三个文件拷贝到工程里面 去,事实上这只发挥了dll对类的代码保护的功能,并没有多大的减轻编程人员的工作量,下面的方法可以减少编程人员的工作量,具体步骤:
1:将TransferFunction.dll扔到windows/system32下
2:将.TransferFunctionlib扔到VC的lib目录里
3:将方法一中的TransferFunction.h扔到VC的include目录里
4:同方法一的最后一步。

你可能感兴趣的:(把vc中的类封装成dll的简单方法(转))