我想开始学习windows api,所以我看了一些教程,立即注意到main函数似乎返回了多个值。
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine, int nCmdShow);这一切意味着什么?它不应该是int WinMain或WINAPI WinMain,但不能同时是两者?
发布于 2014-03-28 05:12:35
WINAPI是一个扩展到__stdcall的宏。它指定调用约定,而不是返回类型。返回类型仍为“int”
发布于 2014-03-28 05:15:43
为了使C++编译器能够高效地面向Windows,对标准C++进行了一些扩展。
其中之一是WINAPI,它在Win32中扩展为__stdcall。这是一个非标准的编译器指令,它告诉编译器从左到右传递参数(为了与VBA等兼容)。从技术上讲,它被称为调用约定。
因此,它与返回类型无关,因此您仍然需要编写一个显式的返回类型。
(请注意,在Win64中,微软完全放弃了__stdcall,因此将WINAPI定义为空白)。
https://stackoverflow.com/questions/22699253
复制相似问题