| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1634 人关注过本帖
标题:[求助]如何调用动态链接库中的函数
只看楼主 加入收藏
幽园香客
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:231
专家分:142
注 册:2006-2-27
结帖率:50%
收藏
 问题点数:0 回复次数:5 
[求助]如何调用动态链接库中的函数

如题:如果要在动态加载动态链接库的前提下,调用动态链接库中的某个函数(只需要该函数的返回值即可),该如何去实现?那位兄弟知道的话,给点提示。谢谢啦!

搜索更多相关主题的帖子: 动态链接库中 函数 兄弟 加载 
2006-10-03 12:57
Bekky
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:354
专家分:0
注 册:2006-5-29
收藏
得分:0 
做一个函数导出的DLL啊,很简单,你稍微看一下例子或者教程就应该能搞定了。

我的编译环境为WinXp + VC 6.0 http://blog..cn/yobo
2006-10-03 14:43
幽园香客
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:231
专家分:142
注 册:2006-2-27
收藏
得分:0 
谢谢Bekky!我已经用*.def文件把几个需要向外暴露的函数导出来了,然后用Loadlibrary完成加载工作。现在就是不知道,如何去访问这些导出的函数。

做个有用的人!
2006-10-03 19:54
Bekky
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:354
专家分:0
注 册:2006-5-29
收藏
得分:0 

/* 文件名:lib.h */

#ifndef LIB_H

#define LIB_H

extern "C" int __declspec(dllexport)add(int x, int y);

#endif


/* 文件名:lib.cpp */

#include "lib.h"

int add(int x, int y)

{

return x + y;

}


调用DLL如下:
#include <stdio.h>

#include <windows.h>

typedef int(*lpAddFun)(int, int); //宏定义函数指针类型

int main(int argc, char *argv[])

{

HINSTANCE hDll; //DLL句柄

lpAddFun addFun; //函数指针

hDll = LoadLibrary("..\\Debug\\dllTest.dll");

if (hDll != NULL)

{

addFun = (lpAddFun)GetProcAddress(hDll, "add");

if (addFun != NULL)

{

int result = addFun(2, 3);

printf("%d", result);
}

FreeLibrary(hDll);
}

return 0;

}

[此贴子已经被作者于2006-10-4 14:27:27编辑过]


我的编译环境为WinXp + VC 6.0 http://blog..cn/yobo
2006-10-04 14:20
幽园香客
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:231
专家分:142
注 册:2006-2-27
收藏
得分:0 

Bekky,,谢谢啦!


做个有用的人!
2006-10-05 17:27
Bekky
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:354
专家分:0
注 册:2006-5-29
收藏
得分:0 
不客气,互相学习

我的编译环境为WinXp + VC 6.0 http://blog..cn/yobo
2006-10-05 23:28
快速回复:[求助]如何调用动态链接库中的函数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.049041 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved