【发布时间】:2018-07-11 10:36:23
【问题描述】:
我正在阅读有关使用 C/C++ 进行 Win32 编程的内容,并遇到一个将 WinMain 定义为的页面:
int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine, int nCmdShow);
我明白了大部分,除了我不明白WINAPI的部分来自哪里?
我知道这是一个调用约定的宏。这不是我想要澄清的。我的问题不在于调用约定。
当我查看 Microsoft 在 C++ functions 上的文档并通读函数声明的可选部分时,我没有看到在函数声明的任何位置包含调用约定的任何内容。那么微软在他们的文档中究竟在哪里谈到在函数声明中包含调用约定?
【问题讨论】:
-
我完全不明白这个问题。当然,您可以通过网络搜索找到这些信息。
-
@DavidHeffernan 问题是:如果
int是返回类型,wWinMain是函数名,括号里面的东西是参数,那么函数声明中的WINAPI是什么。我以为函数声明只有返回类型、名称和参数。 -
首先确定WINAPI 宏扩展为什么。然后对其进行网络搜索。
-
__stdcall是调用约定。见stackoverflow.com/questions/297654/what-is-stdcall
标签: winapi calling-convention winmain