函数指针和调用约定
float __stdcall (*pFunc)(float a, float b) = (float (__stdcall *)(float,float))0x411280;
如何用调用约定声明一个函数指针? 上面给了我一个错误。
诀窍是将__stdcall放在括号内,如下所示:
float (__stdcall *pFunc)(float a, float b) = (float (__stdcall *)(float,float))0x411280;
当然,建议您使用typedef,但同样的技巧适用:
typedef float (__stdcall *FuncType)(float a, float b);
__fastcall
是优化的(最快的调用约定),但未用于未知原因
尝试:
int (__fastcall *myfunction)(int,float);