visual c++如何调用不支持调用约定的代码

visual C++ How to call code with unsupported calling convention

本文关键字:调用 不支持 代码 约定 c++ 何调用 visual      更新时间:2023-10-16

我有一个x86 DLL(我没有源),我需要从c++程序(vc++ 10)调用。

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

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

我从libffi开始。