是什么WINAPI代表(what does WINAPI stand for)

2019-07-03 23:33发布

我已经开始学习的Win32 API在C.我看到的主要功能是一样的东西

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow) { .. }

但我知道,在C的功能就像是

[ReturnType] [FunctionName] (Args) { .. }

在这种情况下,返回类型为int而函数名的WinMain。 那么,是什么在WINAPI代表和有必要吗?

谢谢 。 :)

Answer 1:

它指定调用约定 ,该是多么函数的参数都放在和堆栈管理。

你可以混合调用约定,说如果你调用一些外部的代码,如Windows的API,只要每个人都一样“页”与他们的期望上。

典型的C呼叫使用编译的什么作为的cdecl。 在CDECL调用者清理参数压入堆栈。

WINAPI,也被称为“标准呼叫”指的是被调用的函数是负责清理它的参数堆栈。

在MS编译器将一个前缀的cdecl调用了_,而WINAPI获得一个领先_,并得到一个@ {BYTES急需}前面加上当轧液的功能名称的功能名称。 从上面的链接:

call        _sumExample@8  ;WINAPI
call        _someExample   ;cdecl


Answer 2:

这是“调用约定”,定义为宏观与#define和解析为__stdcall

了解更多关于MSDN :

名都装饰的方式取决于语言和编译器指示如何使现有的功能,也就是说,调用约定。 适用于Windows的DLL中使用的标准的进程间调用约定称为WinAPI的约定。 这是在Windows头文件中定义为WINAPI,其又使用Win32说明符__stdcall定义。



Answer 3:

赢 - 视窗

API - 应用程序编程接口

Windows应用程序编程接口



文章来源: what does WINAPI stand for