C/C++中动态链接库的创建和调用(2)
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文件。
Tag: 动态链接库
文章整理:iocblog
版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。