zsh_7769
驱动小牛
驱动小牛
  • 注册日期2004-04-15
  • 最后登录2005-12-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3073回复:12

MFC如何调用C的动态链接库?

楼主#
更多 发布于:2004-09-23 16:38
如题,如果能有现成的工程能发给我看看就更好了,先谢过了!!!!
zsh_7769@163.com
s_6666_s_qd
驱动巨牛
驱动巨牛
  • 注册日期2004-08-14
  • 最后登录2006-07-11
  • 粉丝0
  • 关注0
  • 积分199分
  • 威望22点
  • 贡献值0点
  • 好评度14点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-09-23 16:59
使用LoadLibrary
MSDN中有详解
snowStart
驱动老牛
驱动老牛
  • 注册日期2004-04-06
  • 最后登录2011-06-02
  • 粉丝0
  • 关注0
  • 积分95分
  • 威望19点
  • 贡献值177点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-09-23 17:08
1.把*.dll,*.lib拷贝到当前工程,link里加入*.lib

2.MFC的调用文件应该包含如下声明的头文件,或直接放到cpp的头部

extern "C"
{
__declspec(dllexport)int WINAPI GetValue(int data);
}

void Fun()
{
int Result=GetValue(10);
}

即可
学习,关注,交流中... [email=fengyu@163.com]Email:snowstarth@163.com[/email] [url]http://bbs.zndev.com/?a=snowStart[/url]
snowStart
驱动老牛
驱动老牛
  • 注册日期2004-04-06
  • 最后登录2011-06-02
  • 粉丝0
  • 关注0
  • 积分95分
  • 威望19点
  • 贡献值177点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-09-23 17:14
使用LoadLibrary
MSDN中有详解


这样可以,需要时手动上载,不需要手动卸载

学习,关注,交流中... [email=fengyu@163.com]Email:snowstarth@163.com[/email] [url]http://bbs.zndev.com/?a=snowStart[/url]
zsh_7769
驱动小牛
驱动小牛
  • 注册日期2004-04-15
  • 最后登录2005-12-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-09-23 17:22
对MFC还一点都不会,GetValue(int data)是要调用的函数吗?有没有现成的工程让我看看?
author22
驱动小牛
驱动小牛
  • 注册日期2003-08-20
  • 最后登录2018-04-07
  • 粉丝0
  • 关注0
  • 积分391分
  • 威望85点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-09-23 17:48
GetValue(int data) 是 要调用的 函数,和 c 一样。。。
  你可以 随便 在 网上 下载几个 例子 看看。。。
我的Vc代码仓库:[url]http://sh.b211.net[/url]
SUNSHANGXIN
驱动老牛
驱动老牛
  • 注册日期2002-11-19
  • 最后登录2009-08-01
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望19点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-09-23 19:07
我喜欢阿
[b]苍白的,不是文字,是人的思想 虚伪的,不是网络,是人的灵魂 伤心的,不是爱情,是人的心灵 难忘的,不是容貌,是人的思诀 黎明的曙光早已不见了夕日的辉煌 东方的日出早就失去了往日的灿烂 而我也尽脱了昨日的笑容去迎接明天的枯涩 [/b]
SUNSHANGXIN
驱动老牛
驱动老牛
  • 注册日期2002-11-19
  • 最后登录2009-08-01
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望19点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-09-23 19:11
我尚穿
[b]苍白的,不是文字,是人的思想 虚伪的,不是网络,是人的灵魂 伤心的,不是爱情,是人的心灵 难忘的,不是容貌,是人的思诀 黎明的曙光早已不见了夕日的辉煌 东方的日出早就失去了往日的灿烂 而我也尽脱了昨日的笑容去迎接明天的枯涩 [/b]
zsh_7769
驱动小牛
驱动小牛
  • 注册日期2004-04-15
  • 最后登录2005-12-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-09-24 09:40
我尚穿

大哥能不能好好回答问题,不要添乱好不好?
zsh_7769
驱动小牛
驱动小牛
  • 注册日期2004-04-15
  • 最后登录2005-12-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2004-09-29 15:46
还是不太明白,哪能找到例子或者哪位兄弟有就给我发一个吧,先谢过了!
zmwk
驱动中牛
驱动中牛
  • 注册日期2001-05-15
  • 最后登录2009-04-05
  • 粉丝0
  • 关注0
  • 积分59分
  • 威望51点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-10-01 22:06
如果是别人的DLL,
可以问他要.h文件和.lib文件,加入你自己的工程。
之后,如同调用本地全局函数,即可。

另一种方法是使用LoadLibrary和GetProcAddress,前者获得连接库句柄,后者可以获得函数指针,这样的调用更加灵活。

希望你能自己动手先做起来,出了问题再问别人。
学游泳得下水呀,看别人是学不会的!
学编程和在学校上课学习是不一样的,关键是水滴石穿的韧性!
A strong man can save himself. A great man can save another.
zsh_7769
驱动小牛
驱动小牛
  • 注册日期2004-04-15
  • 最后登录2005-12-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2004-10-13 15:45
编译时出现了错误:LINK : fatal error LNK1104: cannot open file "pci9054loopdll.lib/nologo.obj"
Error executing link.exe.

pci9054loopdll.lib是自己加进去的,
不知道该如何解决?请多多帮忙!谢谢!
zmwk
驱动中牛
驱动中牛
  • 注册日期2001-05-15
  • 最后登录2009-04-05
  • 粉丝0
  • 关注0
  • 积分59分
  • 威望51点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2004-10-15 12:15
编译时出现了错误:LINK : fatal error LNK1104: cannot open file "pci9054loopdll.lib/nologo.obj"
Error executing link.exe.

pci9054loopdll.lib是自己加进去的,
不知道该如何解决?请多多帮忙!谢谢!


你是如何加进去的?
是在Project->Setting中加的
还是加文件的?
A strong man can save himself. A great man can save another.
游客

返回顶部