DLL生成及调用

生成DLL,网上可以找到许多现成的例子,这里主要介绍一下,我在调用DLL的过程中遇到的问题。

 

对于生成的DLL,同时会有.h和.lib文件生成,将dll文件拷贝到当前运行程序的目录(debug)下

 

如果是静态调用则需要这两个文件,也比较简单,包含头文件,并把.lib文件加到project的Link中即可。但我在运行时发现,如果只是指定.lib,.h文件的位置,而不将这两个文件拷贝到当前程序(调用dll)的目录下,则会遇到无法找到dll中函数的问题。拷贝后,编译通过,运行通过。这个问题还有待解释。

 

如果是动态调用,则不需要.h,.lib文件;调试时发现,(1)要给对dll的名字;(2)dll中定义的export的函数前不需要__stdcall定义;有此则会发生无法找到函数的问题;(3)dll中.cpp文件中定义的函数类型要和.h文件中定义的文件类型一致,否则会出现chkesp.c错误。

 

p.s. visual studio 的工具中有一个depends,可以查看生成dll中exported 函数名。对动态连接时需要查找export函数名很有帮助。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值