主要function中的“WINAPI”是什么意思?
你可以向我解释WinMain()
函数中的WINAPI
单词吗?
最简单的方法
#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 ++特性呢?
WINAPI
是一个macros,它的计算结果是__stdcall
,这是一个微软指定的关键字,用于指定被调用者清理堆栈的调用约定。 函数的调用者和被调用者需要同意调用约定来避免损坏堆栈。
WINAPI只是表示__stdcall
这是一个旨在表示Windows调用约定的macros定义。 来自MSDN :
名称装饰的方式取决于语言以及如何指示编译器使该函数可用,即调用约定。 Windows使用的标准进程间调用约定称为WinAPI约定。 它在Windows头文件中被定义为WINAPI,而WINAPI又被定义为使用Win32声明符__stdcall。
这是特定于Windows的。 它指定了调用约定。 WinMain被Windows调用,这确保了调用者和被调用者对调用约定的一致。