草庐IT

main-folder

全部标签

c++ - main() 之前的堆栈溢出异常

这是我在stackoverflow上的第一个问题,所以我会尽量具体一点。我在论坛上搜索了任何相关主题,但没有成功。不管怎样,这里是:我正在使用VisualStudio2005。我遇到了堆栈溢出异常:IHR.exe中0x775715de处未处理的异常:0xC00000FD:堆栈溢出。,在尝试调试我的项目时。调用堆栈没有帮助,因为它在ntdll.dll处停止,甚至在进入main()函数之前。起初我怀疑这可能是编译设置的问题,但是当我将在我的计算机上编译的可执行文件发送到第二台计算机时,它可以正常运行,只是不会在我的机器上运行。同样的情况反过来发生,我在第二台计算机上编译了可执行文件,它可以

c++ - 为什么这个简单的 lambda 在 std::thread 中始终比在 gcc 4.9.2 的 main 函数中运行得更快?

以下代码片段采用一个命令行参数,该参数表示要生成的线程数以同时运行一个简单的for循环。如果传递的参数为0,则不会生成std::thread。在gcc4.9.2上,./snippet0比./snippet1平均花费10%,即生成一个std的版本::thread执行循环比仅在main中执行循环的版本更快。有人知道这是怎么回事吗?clang-4根本没有表现出这种行为(带有一个std::thread的版本较慢),gcc6.2具有带有一个std::thread的版本运行得稍微慢一点更快(以十次试验中花费的最少时间作为测量值)。这是片段:ScopedNanoTimer只是一个简单的RAII计时器

c++ - 全局变量的静态初始化是否在 `main()`之前完成?

C++标准1998的一些相关摘录:Thestorageforobjectswithstaticstoragedurationshallbezero-initializedbeforeanyotherinitializationtakesplace.Zero-initializationandinitializationwithconstantexpressionarecollectivelycalledstaticinitialization;allotherinitializationisdynamicinitialization.ObjectsofPODtypeswithstati

c++ - 在 main() 之外处理 argc 和 argv

如果我想将用于处理命令行参数的大部分代码保留在main之外(为了组织和更易读的代码),最好的方法是什么?voidmain(intargc,char*argv[]){//lotsofcodehereIwouldliketomoveelsewhere} 最佳答案 要么将它们作为参数传递,要么将它们存储在全局变量中。只要您不从main返回并尝试在atexit处理程序或全局范围内的对象的析构函数中处理它们,它们仍然存在并且可以从任何范围访问。例如://Passingthemasargs:voidprocess_command_line(in

Exception in thread “main“ java.lang.NoClassDefFoundError

项目场景:验证继承情况下子类创建对象时,先调用父类的构造方法,再调用子类的构造方法问题描述随机(不同次数的测试下)会产生Exceptioninthread"main"java.lang.NoClassDefFoundError错误packageeverydayhomework;publicclassDay09{publicDay09(){System.out.println("父类的");}publicstaticvoidmain(String[]args){DAY03day=newDAY03();}}classDAY03extendsDay09{publicDAY03(){System.ou

c++ - 在 main() 之前或之后声明函数有什么区别?

有什么区别:voidfunction();intmain(){......}voidfunction(){......}对比voidfunction(){.......}intmain();当您可以在main之前声明和定义它时,在main之前声明一个函数然后在main之后定义它似乎很奇怪。是出于审美目的吗?我的老师编写的函数类似于第一个示例。 最佳答案 它只是为了代码组织的目的(我猜是“美学”)。如果没有前向声明,您需要在使用每个函数之前编写它,但出于组织目的,您可能希望以不同的顺序编写函数的主体。使用前向声明还允许您在最顶部的文件

c++ - 当类在 main() 中时,为什么这个 std::sort 谓词会失败?

这是一个非常简化的重现,它说明了classPredicate在main()之外如何工作,但是当确切的代码显示为内联时classInlinePredicate编译器无法匹配std::sort。奇怪的是,你可以将anything作为第三个参数传递给std::sort(比如,整数7),当它这样做时你只会得到一个编译错误不支持sort期望的operator()。但是当我在下面传递pred2时,它根本不匹配:#include#include#includeusingnamespacestd;classPredicate{public:booloperator()(constpair&a,cons

c++ - 如何摆脱这个错误 : "MSVCRTD.lib(crtexe.obj) : error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup"

我正在帮助一位friend学习C++,但老实说,我们需要很大的帮助。为什么我们总是得到这个错误:“MSVCRTD.lib(crtexe.obj):errorLNK2019:unresolvedexternal符号main在函数__tmainCRTStartup中引用”代码如下://MariaDelgado(1013725)-Coursework2-ProgramConductingtimbercomponentstructuraldesign#include#include#include#include#includeusingnamespacestd;//VariablesforS

c++ - VS2008 : Can I build a project with 2 CPP files of the same name in different folders?

这是我的文件夹结构:/|--program.cpp--utility.h--utility.cpp|--module/|--utility.h--utility.cpp//NotethatIhavetwofilesnamedutility.handtwonamedutility.cpp在构建项目时,我收到链接错误(LNK2028:未解析的token等...),指出某些符号未定义。我已经确认所有符号都已定义,并且所有声明的函数都有相应的定义。我有一种感觉,在编译我的项目时,两个文件夹中的utility.cpp文件被编译到输出文件夹中的相同utility.obj中。结果,一个覆盖了另一个。

c++ - 编译时错误 : Multiple definition of 'main'

我收到以下错误:`main'的多重定义我新建了一个项目,里面有两个c++文件:文件1#includeusingnamespacestd;intmain(){cout文件2#includeusingnamespacestd;intmain(){cout当我按下构建项目并运行时,出现错误。如何运行这些文件? 最佳答案 您不能在同一个项目中有两个主要功能。将它们放在单独的项目中或重命名其中一个函数并从另一个主要函数调用它。无论参数列表如何,您的项目中永远不能有多个main()函数,因为它是入口点。但是,只要参数列表不同(functiono