设为首页 加入收藏

TOP

11.2.2 VC++ 6.0开发DLL实例
2013-10-07 14:33:37 来源: 作者: 【 】 浏览:110
Tags:11.2.2 6.0 开发 DLL 实例

11.2.2  VC++(www.cppentry.com) 6.0开发DLL实例

本节将以VC++(www.cppentry.com) 6.0开发一个输出Hello world函数,及一个Add函数的DLL为例,讲解VC++(www.cppentry.com) 6.0开发DLL的一般方法。

(1)新建一个Win32 Dynamic-Link Library工程DLLTest。注意不要选择MFC AppWizard(dll),如图11.10所示。

(2)选择一个空的DLL,如图11.11所示。

 
图11.10  创建一个DLL工程
 
图11.11  创建一个空的DLL工程
(3)单击"完成"按钮后便创建了一个空的DLL工程。为工程添加一个头文件,内容如下:
  1. #ifndef DLLTEST_H  
  2. #define DLLTEST_H  
  3. void say();  
  4. int add(int x, int y);  
  5. #endif  

这个头文件向外部提供了say()函数及add()函数的接口。

(4)为工程添加一个CPP文件,内容如下:

  1. 01  #include <stdio.h> 
  2. 02  #include "dlltest.h"  
  3. 03  int add(int x, int y)  
  4. 04  {  
  5. 05      return x + y;                   //返回两个参数的和  
  6. 06  }  
  7. 07  void say()  
  8. 08  {  
  9. 09      printf("Hello world\n");        //输出信息  
  10. 10  }  

在CPP文件中提供了say()函数及add()函数的实现。

(5)为工程添加一个dlltest.def文件,为DLL导出函数,实现如下:

  1. EXPORTS  
  2. say     @1  
  3. add     @2  

(6)编译后便可得到dlltest.lib及dlltest.dll两个文件。创建一个控制台应用程序test检验DLL,如图11.12所示。

(7)然后选择一个空的工程,为工程添加一个test.cpp文件,内容如下:

  1. 01  #include <stdio.h> 
  2. 02  #include "dlltest.h"  
  3. 03  #pragma comment(lib, "DllTest.lib")  
  4. 04  int main( void )  
  5. 05  {  
  6. 06      say();  
  7. 07      printf("2 + 3 = %d\n", add(2 , 3));     //调用动态库的add函数  
  8. 08      say();  
  9. 09      return 1;  
  10. 10  }  

利用隐式方式加载DLL,然后调用DLL的say()及add()函数。执行结果如图11.13 所示。

 
图11.12  创建一个空的控制台程序
 
图11.13  DLL测试结果

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇11.5.1 功能控制模块的界面设计及.. 下一篇11.4.2 CRectTracker类的常用成员..

评论

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