我读过一篇关于Calling convention
(__stdcall、__fastcall、pascal、cdecl 等...)的文章
我想知道:为什么经常为 WinMain() 函数声明 __stdcall (WinAPI)?
正如我所读到的,使用__stdcall
堆栈__fastcall
进行操作,对寄存器进行操作,根本不使用堆栈。
所以,我试图用. __fastcall
编译器(Visual C++)给了我一个错误。
error C2373: 'WinMain' : redefinition; different type modifiers
c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(2560) : see declaration of 'WinMain'
为什么我不能__fastcall
用于 WinMain() 并且有可能使用它吗?
因为在不使用堆栈的情况下处理寄存器要快得多,不是吗?
PS我的建议是,有一些方法合同不允许我使用__fastcall
,但这只是我的建议。