我们可以用多种方式编写主函数,intmain()intmain(intargc,char*argv[])intmain(intargc,char*argv[],char*environment)运行时CRT函数如何知道应该调用哪个main。请注意,我不是在询问是否支持Unicode。 最佳答案 接受的答案不正确,CRT中没有特殊代码来识别main()声明的类型。它的工作是因为cdecl调用约定。它指定参数从右到左压入堆栈,调用者在调用后清理堆栈。因此CRT只是将所有参数传递给main()并在main()返回时再次弹出它们。您唯一需要
为什么这段代码在C中编译成功,而在C++中却报错?intmain;它在托管环境中是否符合标准?你能引用标准吗?我已经用gcc测试过了。 最佳答案 WhythiscodecompilesuccessfulinCandwillgiveyouanerrorinC++?由于C++名称修改。基本上,在所有实际实现中,链接器寻找名为main的symbol(或其变体,我在Apple平台上看到过_main)-在C中,它可以是main()函数或名为的外部存储变量main-关键是通常C实现(编译器、工具链)在链接器级别不区分变量和函数,这就是为什么提供
这个问题在这里已经有了答案:Whatshouldmain()returninCandC++?(19个回答)关闭9年前。在大多数情况下,intmain()不会返回任何东西,它甚至不必返回任何东西,因为没有return不会给出错误。那么为什么main必须返回一个int呢?为什么voidmain不可能?编辑:我的意思是,如果通常没有return,为什么intmain()是标准?
我已经明白char**envp是main的第三个参数,借助下面的代码,我能够看到它是什么实际上包含。intmain(intargc,char*argv[],char*env[]){inti;for(i=0;env[i];i++)std::cout我的问题是:为什么(在什么情况下)程序员需要使用它?我找到了很多关于此参数的作用的解释,但没有任何内容可以告诉我该参数通常用于何处。试图了解这可能用于什么样的现实世界情况。 最佳答案 它是一个包含所有环境变量的数组。例如,它可用于获取当前登录用户的用户名或主目录。一种情况是,例如,如果我想在
Google在其开源项目中使用cc扩展而不是标准cpp有什么原因吗?我也应该这样做吗? 最佳答案 这完全是个人喜好问题,至少对于启动项目的人而言。无论您选择什么,都要保持一致。 关于c++-谷歌有什么理由在他们的开源项目中使用cc扩展而不是cpp吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3146550/
这个问题在这里已经有了答案:WINMAINandmain()inC++(Extended)(7个答案)关闭9年前。我是C++的新手,但之前做过一些.NET编程。main(...)和WinMain(...)有什么区别,我之前用main(...)并且能够调用Win32函数就像我使用WinMain(...)一样,所以这让我问“最好在哪里使用一个而不是另一个,或者它甚至会有所作为吗?”
这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:doesc++standardprohibitthevoidmain()prototype?为什么C++不允许我执行voidmain()?这不是什么大问题,但我仍然很好奇。
在C、C++、Java或C#中,main()(或Main())是用户定义函数还是内置函数? 最佳答案 它是程序执行所必需的用户定义函数。当你用编译语言运行你的程序时,main函数被执行。例如,在Java中,如果你在一个类中有一个签名函数publicstaticvoidmain(String...args)那么这个类就可以被执行,因为JVM将执行main方法。Java示例:publicclassTest{publicstaticvoidmain(String...args){System.out.println("HelloWorld
我正在使用带有pvcs编译器的makefile系统(使用MicrosoftVisualC++,2008编译器),我收到了几个以下形式的链接错误:errorLNK2019:unresolvedexternalsymbol__imp__RegisterFilter@8referencedinfunction_main尽管使用了extern"C"声明,但还是会发生这种情况,即:extern"C"intCLRDUMP_APIRegisterFilter(LPCWSTRpDumpFileName,unsignedlongDumpType);此外,在makeexe.mak中,库链接如下:$(编译库
MyClassGlobalVar;intmain(){MyClassVarInMain;} 最佳答案 一些事情:通常,它们被分配到不同的地方。局部变量分配在栈上,全局变量分配在别处。main中的局部变量仅在main中可见。另一方面,可以在任何地方访问全局变量。 关于c++-全局变量和main中的变量有什么区别?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/830463/