您可以向我解释一下WINAPI
函数中的WinMain()
字吗?
以最简单的方式......
#include <windows.h>
int -->WINAPI<-- WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
MessageBox(NULL, "Goodbye, cruel world!", "Note", MB_OK);
return 0;
}
它只是一些Windows时髦模式吗?
它做什么?或者更确切地说,我还没有遇到过这个C ++特性是什么?
答案 0 :(得分:52)
WINAPI
是一个评估为__stdcall
的宏,这是一个特定于Microsoft的关键字,用于指定被调用者清理堆栈的调用约定。函数的调用者和被调用者需要就调用约定达成一致,以避免破坏堆栈。
答案 1 :(得分:7)
WINAPI是一个扩展为__stdcall的宏,这意味着被调用者清理堆栈。
答案 2 :(得分:7)
这是一个宏定义,旨在表示Windows调用约定。来自MSDN:
名称的装饰方式取决于 关于语言和编译器如何 被指示发挥作用 可用,即通话 惯例。标准的进程间 调用Windows使用的约定 DLL称为WinAPI 惯例。它在Windows中定义 头文件为WINAPI,它位于 使用Win32定义转弯 声明者__stdcall。
答案 3 :(得分:2)
这是特定于Windows的。它指定调用约定。 WinMain被Windows调用,这可以确保调用者和被调用者就调用约定达成一致。