C++ winmain';返回两个值';?

C++ winmain';返回两个值';?,c++,winapi,C++,Winapi,我想开始学习windows api,所以我看了一些教程,我立刻注意到主函数似乎返回了多个值 int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine, int nCmdShow); 这一切意味着什么?它不应该是int-WinMain或WINAPI-WinMain,但不能两者都是?是一个扩展到\u stdcall的宏。它指定调用约定,而不是返回类型。返回类型仍然是“int”是一个扩展到\uu s

我想开始学习windows api,所以我看了一些教程,我立刻注意到主函数似乎返回了多个值

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine, int nCmdShow);

这一切意味着什么?它不应该是
int-WinMain
WINAPI-WinMain
,但不能两者都是?

是一个扩展到
\u stdcall
的宏。它指定调用约定,而不是返回类型。返回类型仍然是“int”

是一个扩展到
\uu stdcall
的宏。它指定调用约定,而不是返回类型。返回类型仍然是int’< /p>< p>,为了使C++编译器有效地对Windows进行定位,对标准C++进行了一些扩展。 其中之一是
WINAPI
,它在Win32中扩展为
\uu stdcall
。这是一个非标准的编译器指令,它告诉编译器从左到右传递参数(为了与VBA等兼容)。从技术上讲,这叫做通话约定

因此,它与返回类型无关,因此仍然需要编写显式返回类型


<>(注意,在WIN64中,微软完全放弃了<代码>·ysSTDLea//>完全限定WINAPI为空白)。

< P>为了使C++编译器有效地对Windows进行目标,对标准C++进行了一些扩展。 其中之一是
WINAPI
,它在Win32中扩展为
\uu stdcall
。这是一个非标准的编译器指令,它告诉编译器从左到右传递参数(为了与VBA等兼容)。从技术上讲,这叫做通话约定

因此,它与返回类型无关,因此仍然需要编写显式返回类型



(请注意,在Win64中,Microsoft完全免除了
\uu stdcall
,因此WINAPI被定义为空)。

@Claudiu oh我是新来的,我不知道问题实际上被保存了下来long@Claudiu事实上,那个问题的答案并没有回答我的问题,这只是一个宏。它相当于
int\uu stdcall-WinMain(…
。这是特定于编译器的扩展,不是标准扩展。您的问题的答案是,它不返回两个值,因为
WINAPI
不是返回值。@Claudiu oh,我是新来的,我不知道问题实际上保存在那里long@Claudiu事实上,那个问题的答案并没有回答我的问题,只是一个苹果电脑它相当于
int\uu stdcall-WinMain(…)它是一个编译器特定的扩展,而不是标准。你的问题的答案是它不返回两个值,因为 WINAPI不是返回值。我仍然混淆它的位置,只是把它当作非标准的C++扩展来瞄准Windows平台。微软可以把它放在任何地方。只要它没有完全破坏标准C++语法。@芭丝谢芭好,所以我不用担心那个语法:Bathsheba的位置是正确的——这只是编译器的惯例。我对“愚蠢”有点不同意。任何函数调用方和被调用方都必须就参数的传递方式达成一致。最通用的方式——
cdecl
——并不总是最快的方式,尤其是在旧的英特尔分段体系结构上。因此,支持microsoft API一些更快的选择。请参阅一些背景。我仍然混淆它的位置,只是把它当作一个非标准的C++扩展来瞄准Windows平台。只要微软没有完全破坏标准C++语法,它就可以把它放在任何地方。@芭丝谢芭好,所以我不用担心WiRD语法:Bathsheba的位置是正确的——这只是编译器的惯例。我对“愚蠢”有点不同意。任何函数调用方和被调用方都必须就参数的传递方式达成一致。最通用的方式——
cdecl
——并不总是最快的方式,尤其是在旧的英特尔分段体系结构上。因此,支持microsoft API一些更快的选择。请看一些背景。比尔·盖茨的投票。我不认为u stdcall被定义为空白以外的任何东西……哦,太可怕了,以至于你被否决了。开玩笑吧,(虽然不是我),我不喜欢显示出如此夸张偏见的答案。使用SDK 8.1,我对微软发布的API不太尊重。比尔·盖茨的Upvote。我不认为u stdcall被定义为空白之外的任何东西……哦,太可怕了,以至于你被否决了。开玩笑吧,(虽然不是我),我不喜欢显示出如此夸张偏见的答案。有了SDK 8.1,我对微软发布的API就不那么尊重了。