社区
进程/线程/DLL
帖子详情
急求:在不确定dll参数个数和类型的情况下怎么调用dll
fei1109
2008-07-03 02:32:26
VC中在不确定dll参数个数和类型,没有统一接口的情况下怎么调用dll,一个泛化的调用dll的方法.就是说,当输入dll的参数类型和参数名后,程序自己调用.
...全文
125
9
打赏
收藏
急求:在不确定dll参数个数和类型的情况下怎么调用dll
VC中在不确定dll参数个数和类型,没有统一接口的情况下怎么调用dll,一个泛化的调用dll的方法.就是说,当输入dll的参数类型和参数名后,程序自己调用.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gaoteng1984
2008-07-19
打赏
举报
回复
在非DLL程序中,可以使用变参函数和va_list,跟printf的变参实现原理差不多
DLL函数,可以用数组做参数解决这个问题。如: void DllFunc(size_t argsCount, int args[])
lake_cx
2008-07-03
打赏
举报
回复
__extern "C"是不使用函数重载,导出函数名不变
fei1109
2008-07-03
打赏
举报
回复
还是不知道什么意思,能不能给个例子看看
做鸡真好吃
2008-07-03
打赏
举报
回复
如果函数有返回值,存放在哪个寄存器里了?怎么通过汇编传给vc的变量,如cstring?
做鸡真好吃
2008-07-03
打赏
举报
回复
mark!
Amuro1987218
2008-07-03
打赏
举报
回复
[Quote=引用 2 楼 lfchen 的回复:]
//根据函数呼叫协议把参数传过去,如果是__extern "C"则是下面的语句
push 第一个参数
push 第2个参数
.....
push 最后一个参数
call eax ;执行函数
[/Quote]
__extern "C"是__cdecl吧?
记得好象也是右到左入栈?
不过call完之后要平衡堆栈
add esp,参数个数*4
一条晚起的虫
2008-07-03
打赏
举报
回复
//根据函数呼叫协议把参数传过去,如果是__extern "C"则是下面的语句
push 第一个参数
push 第2个参数
.....
push 最后一个参数
call eax ;执行函数
Amuro1987218
2008-07-03
打赏
举报
回复
个数你还是要知道的,不然会破坏堆栈
可以用LoadLibary
然后GetProcAddress(hmod,函数名);
_asm
{
//根据函数呼叫协议把参数传过去,如果是__stdcall则是下面的语句
push 最后一个参数
push 倒数第2个参数
.....
push 第一个参数
call eax ;执行函数
}
sunlin7
2008-07-03
打赏
举报
回复
可以利用编译原理进行选择和调用,但可以得有一定的编译知识。
C#
调用
C++
dll
函数传参及
参数
类型
转换
本文详细介绍了在C#中如何
调用
C++编写的
dll
函数,涉及到多种
参数
类型
的转换,包括基本
类型
、字符串、数组等。通过实例展示了如何在C#中声明和
调用
C++的
dll
函数,提供了有效的
参数
转换方法。
PowerBuilder中
调用
DLL
参数
类型
本文深入探讨了在PowerBuilder中使用
DLL
时如何正确声明和管理内存,避免
类型
声明错误导致的潜在问题。通过实例解析了C/C++中的内存分配、指针与内存块的关系,以及字符串在不同字符集下的处理。同时,文章强调了PowerBuilder
调用
DLL
时应注意的事项,如使用__stdcall约定,以及如何处理ansi和unicode字符集。最后,介绍了blob
类型
的灵活性及其在内存操作中的应用。
QT中
调用
C#封装的
DLL
如何传string
类型
的
参数
本文介绍了在Qt中如何
调用
C#封装的
DLL
并传递System::String
类型
的
参数
,首先通过VS创建C#类库和CLR项目生成.lib和.
dll
文件,然后解决Qt中将QString转为C#的String
类型
参数
的问题,使用pin_ptr和wcstombs进行转换,最终成功在Qt中
调用
DLL
并获取字符串数据。
一个DELPHI程序要
调用
DLL
,而
DLL
中的函数名,
参数
个数
,
参数
类型
为不定
本文讨论了在Delphi中如何实现动态
调用
DLL
的方法,特别是当
DLL
中的函数名、
参数
个数
和
类型
不
确定
时的解决方案。提出了通过解析输入的函数名和
参数
列表,使用汇编指令来动态构建
调用
堆栈的方式,实现对任意函数的
调用
。
java
调用
dll
文件的几种常见方式
本文介绍使用Java
调用
DLL
文件的两种方式:JNative和JNA。详细解释了如何加载
DLL
文件、定义
调用
接口、设置
参数
及返回值
类型
,并提供了具体的代码示例。
进程/线程/DLL
15,466
社区成员
49,169
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章