社区
进程/线程/DLL
帖子详情
在没有头文件的前提下,怎么调用DLL
guoln1010
2011-06-12 10:38:43
我现在做一个二次开发,可是买来的板卡只给了DLL文件,其他的什么都没有;通过dumpbin查看此DLL文件导出的函数,可是具体怎么调用这些函数呢?我查到的资料是:
1.LoadLibray、GetProcAddress。freelibray.
还有其他方法吗?这个方法怎么调用?没有头文件
...全文
797
12
打赏
收藏
在没有头文件的前提下,怎么调用DLL
我现在做一个二次开发,可是买来的板卡只给了DLL文件,其他的什么都没有;通过dumpbin查看此DLL文件导出的函数,可是具体怎么调用这些函数呢?我查到的资料是: 1.LoadLibray、GetProcAddress。freelibray. 还有其他方法吗?这个方法怎么调用?没有头文件
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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函数地址,转换后调用。
QT动态库实现及
调用
方式
QT动态库实现及
调用
方式,源码工程和库文件,简单的实现方便了解QT动态库的嗲用方式
LABVIEW中
调用
DLL
的高级技
JSDFJFMNKLHAR EIRJWEJIEWEIOREUROINORFUFNOECJJKDJFSDJFSDFJSDJFSDKFJKSDAFJLSA
MWArray 多版本
dll
可提供给matlab与visual stdio进行引用
调用
。 2.20.1.0 2.22.1.0
glut打包(
dll
,lib,
头文件
)
glut打包(
dll
,lib,
头文件
)glut打包(
dll
,lib,
头文件
)glut打包(
dll
,lib,
头文件
)
VC++
DLL
精讲.pdf
VC++
DLL
精讲.pdf 关于
DLL
的创建及应用,是不错的关于
DLL
的文档。
进程/线程/DLL
15,473
社区成员
49,171
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章