main()在C / C ++中有多少个参数

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 ); 

OS X 🙁 来源 )

Mac OS X和Darwin有第四个参数,包含任意OS提供的信息,例如执行二进制文件的路径:

 int main(int argc, char **argv, char **envp, char **apple)