C ++如何使用不受支持的调用约定来调用代码

时间:2011-09-16 10:34:16

标签: c++ visual-c++ x86 calling-convention

我有一个x86 DLL(我没有源代码),我需要从C ++程序(VC ++ 10)调用它。

我被告知调用约定是从左到右,前三个参数在EAX,ECX和EDX寄存器中传递,以及被调用堆栈清理(以及浮点args /返回等其他细节)。 / p>

是否有某种方法可以自动执行此操作(例如,从包含数百个函数定义中的每一个的文件生成,或者更好地“告诉”编译器有关约定),以便我可以正常调用这些函数?如果有帮助的话,使用的类型都是很简单的(void,int,char *,float等)。

1 个答案:

答案 0 :(得分:2)

我首先看一下libffi