我试图用 C++ 中的函数指针调用一个函数,但我找不到任何适合它的约定。它的堆栈参数是(从右到左):
func(float x, float y, int unk);
...但 ecx 需要指向可用于输出/存储的缓冲区。那将是 __thiscall,但调用者会清理堆栈(将 12 添加到 esp)。这就是我现在所拥有的:
((void(__thiscall*)(char*,float,float,int))(0x1234567))(a, b, c);
但它会导致应用程序崩溃,因为堆栈不均匀。
我怎么称呼这个?