为什么WinMain
有两种返回类型?
如果我删除它,会报告此警告:
warning C4007: 'WinMain' : must be '__stdcall'
或者我错误地读了WINAPI
?
更新
我尝试了这两个变体,据说与WINAPI
相同,没有工作:
int __declspec WinMain
int __declspec(stdcall) WinMain
答案 0 :(得分:6)
WINAPI
不是返回类型,它是扩展为函数的特定于实现的装饰或属性的宏。在这个例子中,它指定了调用约定,相当于__stdcall
。
在语法上,WINAPI大致(但不完全)等同于static
等存储类说明符。
答案 1 :(得分:2)
WINAPI
不是第二个返回值,而是__stdcall
的#define
。
__ stdcall是一个调用约定,它处理如何为函数提供参数。