社区
进程/线程/DLL
帖子详情
在没有头文件的前提下,怎么调用DLL
guoln1010
2011-06-12 10:38:43
我现在做一个二次开发,可是买来的板卡只给了DLL文件,其他的什么都没有;通过dumpbin查看此DLL文件导出的函数,可是具体怎么调用这些函数呢?我查到的资料是:
1.LoadLibray、GetProcAddress。freelibray.
还有其他方法吗?这个方法怎么调用?没有头文件
...全文
819
12
打赏
收藏
在没有头文件的前提下,怎么调用DLL
我现在做一个二次开发,可是买来的板卡只给了DLL文件,其他的什么都没有;通过dumpbin查看此DLL文件导出的函数,可是具体怎么调用这些函数呢?我查到的资料是: 1.LoadLibray、GetProcAddress。freelibray. 还有其他方法吗?这个方法怎么调用?没有头文件
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
verybigbug
2011-06-13
打赏
举报
回复
这个,让供应商提供Document啊,这个是很基本的要求啊。除非你的DLL来路不正。
xiaoshiquan
2011-06-13
打赏
举报
回复
[Quote=引用 7 楼 guoln1010 的回复:]
引用 2 楼 magicfuzzx 的回复:
即使是GetProcAddress也需要函数的参数表,则需要用逆向的手段取得。
你买的至少也应该有个帮助文档之类的,查看下参数
还有一个问题就是:我需要调用很多歌DLL中函数,我的调用方法就是typedef 定义一个指针函数,然后GetProcAddress导出函数地址,难道每一个函数都需要这样使用吗?有没有简便方法?
[/Quote]
GetProcAddress是动态调用的方式,只能这样的。如果你想静态调用动态库,那你就用lib工具从Dll中导出个.lib文件,然后再自己手动写个头文件你就可以静态使用动态库了。只不过我觉得这样更麻烦
guoln1010
2011-06-13
打赏
举报
回复
[Quote=引用 2 楼 magicfuzzx 的回复:]
即使是GetProcAddress也需要函数的参数表,则需要用逆向的手段取得。
你买的至少也应该有个帮助文档之类的,查看下参数
[/Quote]
还有一个问题就是:我需要调用很多歌DLL中函数,我的调用方法就是typedef 定义一个指针函数,然后GetProcAddress导出函数地址,难道每一个函数都需要这样使用吗?有没有简便方法?
guoln1010
2011-06-13
打赏
举报
回复
[Quote=引用 5 楼 xianglitian 的回复:]
引用 4 楼 guoln1010 的回复:
引用 2 楼 magicfuzzx 的回复:
即使是GetProcAddress也需要函数的参数表,则需要用逆向的手段取得。
你买的至少也应该有个帮助文档之类的,查看下参数
恩 是有一个文档文件,里边是函数的说明,可是我动态加载DLL后,使用depends怎么没有显示已经调用的dll?难道哪一步骤有错误?
看看这个
http:……
[/Quote]
呵呵,太感谢了
向立天
2011-06-13
打赏
举报
回复
[Quote=引用 4 楼 guoln1010 的回复:]
引用 2 楼 magicfuzzx 的回复:
即使是GetProcAddress也需要函数的参数表,则需要用逆向的手段取得。
你买的至少也应该有个帮助文档之类的,查看下参数
恩 是有一个文档文件,里边是函数的说明,可是我动态加载DLL后,使用depends怎么没有显示已经调用的dll?难道哪一步骤有错误?
[/Quote]
看看这个
http://blog.vckbase.com/lishengg_blog/archive/2004/10/27/1102.html
注意第四条
guoln1010
2011-06-13
打赏
举报
回复
[Quote=引用 2 楼 magicfuzzx 的回复:]
即使是GetProcAddress也需要函数的参数表,则需要用逆向的手段取得。
你买的至少也应该有个帮助文档之类的,查看下参数
[/Quote]
恩 是有一个文档文件,里边是函数的说明,可是我动态加载DLL后,使用depends怎么没有显示已经调用的dll?难道哪一步骤有错误?
guoln1010
2011-06-13
打赏
举报
回复
改了一下就行了
typedef HANDLE ( __stdcall *pFUNCTION )(LPDWORD);
guoln1010
2011-06-13
打赏
举报
回复
[Quote=引用 5 楼 xianglitian 的回复:]
引用 4 楼 guoln1010 的回复:
引用 2 楼 magicfuzzx 的回复:
即使是GetProcAddress也需要函数的参数表,则需要用逆向的手段取得。
你买的至少也应该有个帮助文档之类的,查看下参数
恩 是有一个文档文件,里边是函数的说明,可是我动态加载DLL后,使用depends怎么没有显示已经调用的dll?难道哪一步骤有错误?
看看这个
http:……
[/Quote]
还有个问题,那就是已经能够熟练地调用硬件带的函数了,可是总是在调用handle返回值的函数时编译没问题,运行总是出现错误,这些函数都有一个设备参数
File: i386\chkesp.c
Line:42
The value of ESP was not properly saved across a function call.This is
usually a result of calling a function declared with one calling convention
with a function pointer declared with a different calling convention。
guoln1010
2011-06-13
打赏
举报
回复
[Quote=引用 9 楼 verybigbug 的回复:]
这个,让供应商提供Document啊,这个是很基本的要求啊。除非你的DLL来路不正。
[/Quote]
还有个问题,那就是已经能够熟练地调用硬件带的函数了,可是总是在调用handle返回值的函数时编译没问题,运行总是出现错误,这些函数都有一个设备参数
csx007700
2011-06-12
打赏
举报
回复
GetProcAddress 动态调用
找不到函数名的话用LordPE看看导出表
MagicFuzzX
2011-06-12
打赏
举报
回复
即使是GetProcAddress也需要函数的参数表,则需要用逆向的手段取得。
你买的至少也应该有个帮助文档之类的,查看下参数
aorons
2011-06-12
打赏
举报
回复
用GetProcAddress得到DLL函数地址,转换后调用。
LABVIEW中
调用
DLL
的高级技
在LabVIEW编程环境中,
调用
DLL
(动态链接库)是一项重要的技术,特别是在处理与硬件交互、利用第三方库或实现特定算法时。
DLL
是Windows操作系统中的一种共享库,它包含了一组可重用的函数和资源,可以被多个应用程序...
MWArray 多版本
dll
标题中的“MWArray 多版本
dll
”指的是MWArray库的不同版本动态链接库(
DLL
),这是一种在Windows操作系统下使用的可执行代码库,包含了特定的功能模块。MWArray是MathWorks公司为MATLAB与Visual Studio之间交互提供...
glut打包(
dll
,lib,
头文件
)
将glut.
dll
放置在系统路径或应用程序的同一目录下,是确保程序运行的
前提
。 2. **LIB文件**:glut.lib是链接库,用于编译链接阶段。当你的源代码中使用了GLUT的函数,编译器需要这个lib文件来解析函数引用,并将...
Labview
调用
CH347
DLL
教程[源码]
在Labview环境下,
调用
CH347
DLL
可以极大地简化工程师对于硬件接口编程的工作量。本文将详细阐述如何在Labview环境中
调用
CH347
DLL
库文件,并进行I2C通信协议操作的实验案例。 首先,创建一个Labview工程是进行任何...
VC++
DLL
精讲.pdf
1. **语言和编译器的独立性**:
DLL
的编制与具体的编程语言及编译器无关,只要遵循约定的
DLL
接口规范和
调用
方式,不同语言编写的程序可以相互
调用
DLL
中的函数或类。 2. **广泛的应用**:
DLL
广泛应用于Windows系统中,...
进程/线程/DLL
15,467
社区成员
49,170
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章