从WINAPI说起

在windef.h头文件中有如下定义  
  #define   WINAPI             __stdcall  
  #define   APIENTRY         WINAPI   
    
VC有两种函数调用方式   一种是__stdcall,另一种是__cdecl   
函数的调用方式有两种一种是PASCAL调用方式,另一种是C调用方式   
使用PASCAL调用方式,函数在返回到调用者之前将参数从栈中删除   
使用C调用方式,参数的删除是调用者完成的   
WinMain函数是由系统调用的,Windows系统规定由系统调用的函数都遵守PASCAL调用方式   
但是VC中函数的缺省调用方式是__cdecl,也就是C调用方式   
所以在WinMain前显示的声明。   
在Windows编程中将遇到很多声明修饰符,如CALLBACK,WINAPI,PASCAL这些在IntelCPU的计算机上

 

都是__stdcall   

详细的声明细节请看windef.h文件      

你可能感兴趣的:(从WINAPI说起)