如何把自己常用的类封装到DLL方便使用

来源:互联网 发布:淘宝电视机19寸 编辑:程序博客网 时间:2024/06/02 13:42

你可能经常使用自己的传递函数类,最好的做法就是把你写好的类封装成dll。具体做法如下:


第一步:制作dll 

    利用VS2013新建win32项目,下一步选择 dll,选择空项目。假设你要添加的类明为:test。添加头文件test.h 和test.cpp 。并且在头文件test.中的类的声明为:

class _declspec (dllexport)  test

{

...

}

说明从dll导出这个类。在test.cpp中实现该类。这样编译完成就会产生test.dll和test.lib两个文件。


第二步:使用这个dll,可以分为静态和动态调用两种方式。

1】静态调用

(一).静态调用其步骤如下: 
1.把你的test.DLL、test.lib、test.h拷到你目标工程执行目录下(可以理解为.cpp文件所在的目录下); 

2.选择主菜单上的项目->属性->配置属性->链接器->输入->附加依赖项 添加 test.lib。或者用 #pragma comment(lib,"test.lib")。

3.把test.h中的_declspec (dllexport)改为_declspec (dllimport)

4.最后在你目标工程(*.cpp,需要调用DLL中的函数)中包含你的:#include  "test.h " 就可以使用test类了。


注意:如果想在DLL中添加新的接口(即函数),需要重新编译,把原来test.DLL、test.lib、test.h 全部用新的覆盖掉。

2】动态调用

把你的test.DLL拷到你目标工程执行目录下(可以理解为.cpp文件所在的目录下); 

HINSTANCE   hDllInst   =   LoadLibrary( "test.dll "); //装载dllif(hDllInst) { typedef   DWORD   (WINAPI   *MYFUNC)(DWORD,DWORD); MYFUNC   youFuntionNameAlias   =   NULL;   //   youFuntionNameAlias   函数另一个名字,别名youFuntionNameAlias   =  (MYFUNC)GetProcAddress (hDllInst, "youFuntionName "); //youFuntionName 在DLL中声明的函数名 if(youFuntionNameAlias) { youFuntionNameAlias(....); //等于 执行在dll中你想用的函数} FreeLibrary(hDllInst); //卸载dll} }






















0 0
原创粉丝点击