设为首页 加入收藏

TOP

如何正确创建DLL和使用DLL
2014-10-30 12:30:06 来源: 作者: 【 】 浏览:50
Tags:如何 正确 创建 DLL 使用

  本文将通过一个简单的实例来说明,如何正确的导出DLL中的类、对象、函数,并如何通过静态加载或动态加载的方式来使用DLL。


  一、DLL中导出类、函数、对象


  1. 创建一个空的Win32 Dynamic-Link Library项目Test


  2. 在项目中添加一个Test.h头文件,该文件的内容如下:


  //导出类


  class __declspec(dllexport) CTest


  {


  ...


  };


  //导出函数


  __declspec(dllexport) void FuncTest();


  //导出对象


  extern __declspec(dllexport) CTest ObjTest;


  这段代码中通过__declspec(dllexport)导出了类CTest、函数FuncTest和对象ObjTest。在.cpp文件中实现上面的声明与类的定义后,经编译就可以生成一个.dll和.lib文件了。


  二、静态加载DLL


  1. 新建一个Win32 项目。


  2. 将上面编译生成的.lib文件复制到,该项目下。


  3. 在项目中添加一个Test.h(通过该文件实现对DLL的静态加载),该.h文件的内容主要是从DLL的.h文件中复制过来。具体内容如下:


  #pragma comment(lib, "test.lib")


  //导入类


  class __declspec(dllimport) CTest


  ...{


  ...


  };


  //导入函数


  __declspec(dllimport) void FuncTest();


  //导入对象


  extern __declspec(dllimport) CTest ObjTest;


  这个.h文件与dll的.h的不同就是,在开头加了#pragma comment(lib, "test.lib"),以及类、函数、对象前面的__declspec(dllexport)变成了__declspec(dllimport) 。通过这些修改就可以告诉编译器,这个.h文件中定义的类、声明的函数和对象都是从test.dll中导入的。在项目中完成对这些类、函数、对象的调用代码后,就可以将其编译成可执行文件。将生成的可执行为文件、以及上面生成的. dll文件复制到同一个文件夹中就可以正常运行这个可执行文件。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C++算术表达式求解 下一篇VC++:如何将程序最小化到托盘

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: