jjzjj

c++ - 在 C++ (MSVC) 中打印堆栈跟踪?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭7年前。Improvethisquestion在我的C++应用程序(使用VisualStudio2003开发)和Qt4,我想将特定代码行的堆栈跟踪打印到控制台输出或文件中。需要什么?Qt对此有帮助吗?

c++ - 为什么在 MSVC 中默认将浮点值(如 3.14)视为 double 值?

为什么我需要放置3.14f而不是3.14来禁用所有这些警告?这是否有连贯的原因? 最佳答案 这就是C++(和C)标准所决定的。浮点文字是double类型,如果你需要它们是float,你可以在它们后面加上一个f后缀。似乎没有任何具体说明原因,但我猜它是a)为了与C的兼容性,以及b)在精度和存储之间进行权衡。2.13.3FloatingliteralsThetypeofafloatingliteralisdoubleunlessexplicitlyspecifiedbyasuffix.ThesuffixesfandFspecifyfloa

c++ - MSVC 用 double 支撑初始化似乎违反了标准?

看看这个简单的程序:intmain(){floatf2=7.2;//OK,withwarningfloatf3=7.199999809265137;//OK,nowarningfloatf4{7.2};//Failsfloatf5{7.199999809265137};//OK,nowarningfloatf6={7.2};//Failsfloatf7={7.199999809265137};//OK,nowarning}当使用默认选项(cl/W4,版本19.00.23918)使用MSVC2015编译时,我收到以下消息:FloatTest.cpp(2):warningC4305:'in

c++ - MSVC 中的模板静态定义和显式特化实例化错误

我想知道为什么下面的代码在gcc中运行得很好#includeusingnamespacestd;templatestructF{staticTconstvalue;};templatestructF{//Specializationstaticintconstvalue;};templatestructF;templateTconstF::value=sizeof(T);templateintconstF::value=42;intmain(){structFma;couthttp://ideone.com/wvrurz在MSVC2012上我无法编译它:#includeusingnam

c++ - 函数参数的析构函数在 gcc 和 MSVC 中被不同地调用

在将一些C++代码从MicrosoftVisualStudio移植到gcc时,我遇到了一个奇怪的错误,我最终将其归结为:#includeusingnamespacestd;classFoo{public:intdata;Foo(inti):data(i){cout如果我使用MicrosoftVisualStudio2015Community编译并运行上述代码,我会得到以下输出:Fooconstructedwith10movectorf.data=10Foodestructedwith10Fooconstructedwith20Foodestructedwith20Foodestruct

c++ - 用于应用程序本地部署的 MSVC 2015 通用 CRT

已宣布通用CRT将是一个可重新分发的DLL,这样应用程序本地部署仍然是可能的。我已经安装了VisualStudio2015ExpressEdition,我在SDK目录中寻找ucrtbase.dll,但找不到任何东西。我查看的目录是“C:\ProgramFiles(x86)\MicrosoftSDKs\WindowsKits\10”,但在“Microsoft.UniversalCRT.Debug”下只有CRT的调试版本。我不想从我的系统中复制任何DLL,我总是只打包来自“Redist”目录的文件。因此,例如(与以前版本的MSVC一样),我使用x86构建从“C:\ProgramFiles(

c++ - Qt msvc2013 使用 vs2015 构建

您好,我已将visualstudio更新到2015版本,并且我有Qtmsvc2013。Qt说没有编译器可以为这个版本的Qt编写代码,(Qt从visualstudio检测到编译器)。如何在不安装VS2013的情况下使其工作? 最佳答案 您不能混合使用不同主要版本的MicrosoftVisualC++编译器编译的C++。因此,您需要获取适用于VisualStudio2015的Qt版本,或者编译您自己的版本。此时,还没有针对VisualStudio2015的Qt官方构建可用(计划用于Qt5.5.15.6.0)。如果您想尝试自己编译,htt

c++ - MSVC++ 中可能的编译器错误

我相信我在MSVC++中发现了一个编译器错误(存在于VS2013中)。我想在报告之前检查它确实是一个错误。以下代码:#includeusingstd::map;templateclassA{public:typedefTStoredType;};templatemapfoo(){mapret;returnret;}templatemapfoo>(){mapret;returnret;}//Erroronthislineintmain(int,char**){return0;}产生编译错误:1>d:\documents\visualstudio2010\projects\proj\pro

c++ - 复制对象时,带有 MSVC 2010 Debug 的 OpenMP 会生成奇怪的错误

我有一个相当复杂的程序,在MSVC2010Debug模式下使用OpenMP构建时会遇到奇怪的行为。我已尽力构建以下最小的工作示例(尽管它不是真正最小的),它缩小了真实程序的结构。#include#include//AclasstakepointstothewholecollectionandapositionOnlyallowaccess//totheelementsatthatposiiton.Itprovideread-onlyaccesstoquerysome//informationaboutthewholecollectionclassElement{public:Eleme

c++ - 如何为 msvc9.0 而不是 msvc10.0 构建 boost ?

我已经运行了Bootstrap批处理,然后是bjamexe,但是由于我有MSVC2010,它会在$boost\stage\lib中生成-vc100-文件。我正在使用vc90库,所以我需要*-vc90-*文件,但是如果我将--toolset=msvc-9.0选项传递给bjam,它会给我以下错误:...failedcompile-c-c++bin.v2\libs\wave\build\msvc-9.0\release\link-static\threading-multi\instantiate_cpp_exprgrammar.obj...compile-c-c++bin.v2\libs\