C++ main()在C/C++;
C++ main()在C/C++;,c++,c,main,C++,C,Main,main使用了多少个参数?什么样的main定义变体是可能的?C++标准:() C++98标准在第3.6.1.2节中说 其应具有类型为的返回类型 int,但其类型为 实现定义。全部的 实施应允许以下两种情况: main:int的以下定义 main()和int main(int argc,char* argv[] 通常有3组参数: 无参数/void int argc,char**argv int-argc,char**argv,char**env 其中,argc是命令行的数量,argv是实际的命
main
使用了多少个参数?什么样的main
定义变体是可能的?C++标准:()
C++98标准在第3.6.1.2节中说
其应具有类型为的返回类型
int,但其类型为
实现定义。全部的
实施应允许以下两种情况:
main:int的以下定义
main()和int main(int argc,char*
argv[]
通常有3组参数:
- 无参数/
void
int argc,char**argv
int-argc,char**argv,char**env
argc
是命令行的数量,argv
是实际的命令行,env
是环境变量
窗口:
对于windows应用程序,您有一个具有不同签名的WinMain入口点,而不是main
int WINAPI WinMain(
__in HINSTANCE hInstance,
__in HINSTANCE hPrevInstance,
__in LPSTR lpCmdLine,
__in int nCmdShow
);
OSX:()
Mac OS X和Darwin有第四个参数,其中包含操作系统提供的任意信息,例如执行二进制文件的路径:
int main(int argc, char **argv, char **envp, char **apple)
那么linux中的auxv呢?@osgx:我不确定是否还有其他的可能,但是上面提到的3个常用的是由g++支持的。我从来都不理解
main
returnint
的要求main
是唯一明确允许具有隐式返回值的函数。为什么要特意让main
假装成void
,而不是简单地让它从void
开始?@Dennis Zickefoose:听起来对stackoverflow.com来说是个很好的问题:)就在“相关”链接中:,您的标记与标题不一致。添加了c++
tag以确保与标题一致