我建了一个空的工程,谢了一个
int WinMain(....)
编译的时候提示我必须指定__stdcall.奇怪,我记得stdcall是callee清空堆栈的方式,更节省空间,所以是默认的方式。
难道WinMain默认被编译成了cdecl方式么?高人指点!
int WinMain(....)
编译的时候提示我必须指定__stdcall.奇怪,我记得stdcall是callee清空堆栈的方式,更节省空间,所以是默认的方式。
难道WinMain默认被编译成了cdecl方式么?高人指点!
VC将函数编译后会在函数名前面加上下划线前缀,在函数名后加上"@"和参数的字节数。 2、C调用约定(即用__cdecl关键字说明)按从右至左的顺序压参数入栈,由调用者把参数弹出栈。对于传送参数的内存栈是由调用者来维护的(正因为如此,实现可变参数的函数只能使用该调用约定)。另外,在函数名修饰约定方面也有所不同。 _cdecl是C和C++程序的缺省调用方式。每一个调用...