草庐IT

Main2Activity

全部标签

c++ - 在 main() 消失之前初始化的值

无法理解奇怪的程序行为-希望有人能解释一下。虚拟.h:#ifndefDUMMY_H#defineDUMMY_H#includeclassDummy{intval;public:intInit(intnew_val){returnval=new_val;}intGet(){returnval;}Dummy():val(-1){std::cout标题.h:#include"dummy.h"externDummydummy;虚拟.cpp:#include"dummy.h"Dummydummy;主要.cpp:#include#include"header.h"intres1=dummy.Ini

c++ - 可以单独编译任何 .c 文件(也就是说,没有 main?)

我目前有一个“类库”.c文件(如下所示)。我对此有2个问题:如果我想看看它自己是否编译良好,我该怎么做?如果我尝试对它进行gcc,它总是会给出“nomain”错误,这是有道理的,但会引发一个问题,即知道给定的.c文件是否可以“隔离”编译。我是否可以安全地得出结论,如果编译器引发的唯一错误是“nomain”错误,那么我的文件没有问题?在这里单独编译.c文件的一个例子是确定哪些包含过多。在这样一个简单的文件中是否有必要用它的方法/结构声明定义一个header,然后在这样一个很小的​​.c文件中包含代码实现?#ifndefSEMAFOROS#defineSEMAFOROS#include#i

c++ - CRT 如何调用 main ,具有不同的参数

我们可以用多种方式编写主函数,intmain()intmain(intargc,char*argv[])intmain(intargc,char*argv[],char*environment)运行时CRT函数如何知道应该调用哪个main。请注意,我不是在询问是否支持Unicode。 最佳答案 接受的答案不正确,CRT中没有特殊代码来识别main()声明的类型。它的工作是因为cdecl调用约定。它指定参数从右到左压入堆栈,调用者在调用后清理堆栈。因此CRT只是将所有参数传递给main()并在main()返回时再次弹出它们。您唯一需要

c++ - 在 C 和 C++ 中没有定义的函数 main

为什么这段代码在C中编译成功,而在C++中却报错?intmain;它在托管环境中是否符合标准?你能引用标准吗?我已经用gcc测试过了。 最佳答案 WhythiscodecompilesuccessfulinCandwillgiveyouanerrorinC++?由于C++名称修改。基本上,在所有实际实现中,链接器寻找名为main的symbol(或其变体,我在Apple平台上看到过_main)-在C中,它可以是main()函数或名为的外部存储变量main-关键是通常C实现(编译器、工具链)在链接器级别不区分变量和函数,这就是为什么提供

c++ - 为什么 main() 必须返回一个 int?

这个问题在这里已经有了答案:Whatshouldmain()returninCandC++?(19个回答)关闭9年前。在大多数情况下,intmain()不会返回任何东西,它甚至不必返回任何东西,因为没有return不会给出错误。那么为什么main必须返回一个int呢?为什么voidmain不可能?编辑:我的意思是,如果通常没有return,为什么intmain()是标准?

c++ - C++ main() 的第三个环境变量参数有什么用?

我已经明白char**envp是main的第三个参数,借助下面的代码,我能够看到它是什么实际上包含。intmain(intargc,char*argv[],char*env[]){inti;for(i=0;env[i];i++)std::cout我的问题是:为什么(在什么情况下)程序员需要使用它?我找到了很多关于此参数的作用的解释,但没有任何内容可以告诉我该参数通常用于何处。试图了解这可能用于什么样的现实世界情况。 最佳答案 它是一个包含所有环境变量的数组。例如,它可用于获取当前登录用户的用户名或主目录。一种情况是,例如,如果我想在

c++ - WinMain 与 main (C++)

这个问题在这里已经有了答案:WINMAINandmain()inC++(Extended)(7个答案)关闭9年前。我是C++的新手,但之前做过一些.NET编程。main(...)和WinMain(...)有什么区别,我之前用main(...)并且能够调用Win32函数就像我使用WinMain(...)一样,所以这让我问“最好在哪里使用一个而不是另一个,或者它甚至会有所作为吗?”

c++ - main 不能为空

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:doesc++standardprohibitthevoidmain()prototype?为什么C++不允许我执行voidmain()?这不是什么大问题,但我仍然很好奇。

c# - C、C++、Java、C# 中的 main()

在C、C++、Java或C#中,main()(或Main())是用户定义函数还是内置函数? 最佳答案 它是程序执行所必需的用户定义函数。当你用编译语言运行你的程序时,main函数被执行。例如,在Java中,如果你在一个类中有一个签名函数publicstaticvoidmain(String...args)那么这个类就可以被执行,因为JVM将执行main方法。Java示例:publicclassTest{publicstaticvoidmain(String...args){System.out.println("HelloWorld

c++ - Clrdump (C++) 错误 LNK2019 : unresolved external symbol __imp__RegisterFilter@8 referenced in function _main

我正在使用带有pvcs编译器的makefile系统(使用MicrosoftVisualC++,2008编译器),我收到了几个以下形式的链接错误:errorLNK2019:unresolvedexternalsymbol__imp__RegisterFilter@8referencedinfunction_main尽管使用了extern"C"声明,但还是会发生这种情况,即:extern"C"intCLRDUMP_APIRegisterFilter(LPCWSTRpDumpFileName,unsignedlongDumpType);此外,在makeexe.mak中,库链接如下:$(编译库