C/C++中动态链接库的创建和调用(2)

分类: VC.NET   出处:iocblog整理  更新时间:2008-10-25   添加到收藏  

  1、 建立dllwintest工程

  2、 将文件dlldemo.dll拷贝到dllwintest工程所在的目录或windows系统目录下。

  3、 用vc/bin下的dumpbin.exe的小程序,查看dll文件(dlldemo.dll)中的函数结构。

  4、 使用类型定义关键字typedef,定义指向和dll中相同的函数原型指针。

  例:

以下是引用片段:
  typedef int(*lpmax)(int a,int b); //此语句可以放在.h文件中

  5、 通过loadlibray()将dll加载到当前的应用程序中并返回当前dll文件的句柄。

  例:

以下是引用片段:
  hinstance hdll; //声明一个dll实例文件句柄
  hdll = loadlibrary("dlldemo.dll");//导入dlldemo.dll动态连接库

  6、 通过getprocaddress()函数获取导入到应用程序中的函数指针。

  例:

以下是引用片段:
  lpmax max;
  max = (lpmax)getprocaddress(hdll,"max");
  int value;
  value = max(2,9);
  printf("the max value is %d",value);

  7、 函数调用完毕后,使用freelibrary()卸载dll文件。

  freelibrary(hdll);

  8、 编译并生成应用程序dllwintest.exe

  注:显式链接应用程序编译时不需要使用相应的lib文件。

上一页 [1] [2]


Tag: 动态链接库



文章整理:iocblog
版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。