草庐IT

VC_runtime

全部标签

c++ - 为什么 VC++ 2010 允许编译?

std::vectorvci;vci.push_back(1);vci[0]=2;如果元素类型是constint,赋值语句不应该赋值给constint&吗?这不会用LLVM3.0编译。为什么VC++允许它? 最佳答案 虽然它是未定义的行为并且基本上任何都可能发生,包括您所看到的,但我已经追踪到这似乎是库与标准不兼容的地方。特别是VS2010库中定义的标准分配器不符合标准。标准规定std::vector::value_type是Allocator::value_type的类型定义.现在默认分配器(如果没有提供)是std::alloca

c++ - 在 VC2015 中连接不匹配的字符串 WORKS - 如何?

当我们有这些之一时:autocity1="New"L"Delhi";autocity2=L"New""York";任何VS2015之前的编译器都会引发错误:errorC2308:concatenatingmismatchedstrings但是使用VC2015编译器,它编译得很好并且结果类型(auto推导)是一个宽字符字符串。我的问题是:何时以及如何做到这一点-任何标准规范? 最佳答案 在C++03中,此行为是未定义的。ISO14882-2003:2.13.4.3指出Intranslationphase6(2.1),adjacentn

c++ - 在 VC++ 中解决 hid.lib "unresolved external symbol"链接器错误

如标题所示,我遇到以下链接器错误:errorLNK2019:unresolvedexternalsymbol"unsignedchar__stdcallHidD_GetAttributes(void*,struct_HIDD_ATTRIBUTES*)"(?HidD_GetAttributes@@YGEPAXPAU_HIDD_ATTRIBUTES@@@Z)在我的代码中调用result=HidD_GetAttributes(WriteHandle,&attributes)时。这个函数应该存在于“hid.lib”中,我已将其添加到项目的链接器依赖项中。我还包含了头文件“hidsdi.h”,它

c++ - 我怎么能在 VC 2008 中删除 "error C4335: Mac file format detected"

我现在用VC++2008编译一个项目,得到的错误如下:Error7errorC4335:Macfileformatdetected:pleaseconvertthesourcefiletoeitherDOSorUNIXformat我想知道如何解决此类错误。我找到了thislink有用,但该解决方案适用于VC++2010而不是VC++2008。任何建议将不胜感激。 最佳答案 对于VS2012,在解决方案资源管理器中选择并打开文件。文件->高级保存选项->设置编码:西欧(Windows)&&设置行结尾:Unix

c++ - VC++ 中 Unresolved external 错误

我正在学习vc++,正在用代码查看内存的使用信息。这个程序给我三个Unresolvedexternal错误..errorLNK2019:unresolvedexternalsymbol_GetProcessMemoryInfo@12referencedinfunction"void__cdeclPrintMemoryInfo(unsignedlong)"(?PrintMemoryInfo@@YAXK@Z)errorLNK2019:unresolvedexternalsymbol_EnumProcesses@12referencedinfunction_mainerrorLNK1120:

c++ - undefined symbol : _ZN7QString13toUtf8_helperERKS_ at runtime

我有两个使用Qt的项目。一个是用QtCreator开发的,另一个是用Eclipse开发的。两者都使用相同的Qt5.3.1库,都是用GCC编译的。但是,当我运行eclipse中的程序时,它崩溃并显示消息Undefinedsymbol:_ZN7QString13toUtf8_helperERKS_。查找显示产生此错误的代码是path.toStdString().c_str()//pathisaQString在qstring.h中的确切位置是#ifdefined(Q_COMPILER_REF_QUALIFIERS)&&!defined(QT_COMPILING_QSTRING_COMPAT_

c++ - VC++ express,我该如何解决这个错误?

我有C#编程经验,但我这学期正在上C++课,并且正在编写我的第二个项目,但是当我尝试构建我的程序的调试配置时,我总是遇到这个错误。我的构建日志在下面,关于发生了什么的任何想法?我很茫然。谢谢大家!1>------RebuildAllstarted:Project:Project_2,Configuration:DebugWin32------1>Deletingintermediateandoutputfilesforproject'Project_2',configuration'Debug|Win32'1>Compiling...1>main.cpp1>Linking...1>LI

c# - VC++ 在解决方案中从非/clr 项目的函数调用/clr 项目的函数

我提到了thissomewhatsimilarquestion在问这个之前,但无法解决我的问题我正在查看一个包含许多解决方案的旧应用程序。问题发生在其中一个解决方案中(比如S)。这是情况:S中的一个项目(比如P1)具有所有C/C++文件,需要调用C#函数因为P1也包含.c文件,我不能使用/clr选项那个如果我将P1中的.c文件编译为.cpp文件,那么它会生成很多的错误,我不打算更改该遗留.c文件中的源所以我创建了另一个启用了/clr的项目(比如P2),并为它创建了一个头文件函数声明和函数定义的.cpp文件;这在其下进行C#调用;P2编译正常请注意,P1是一个.dll,而P2是作为静态库

详解‘CUDA driver version is insufficient for CUDA runtime version

目录详解'CUDAdriverversionisinsufficientforCUDAruntimeversion'背景解决方法步骤1:查看CUDA运行时要求的驱动程序版本步骤2:检查当前CUDA驱动程序版本步骤3:更新CUDA驱动程序步骤4:验证更新结果步骤5:重新运行CUDA应用程序结论详解'CUDAdriverversionisinsufficientforCUDAruntimeversion'当你在使用CUDA运行时时,有时可能会遇到这样的错误消息:'CUDAdriverversionisinsufficientforCUDAruntimeversion'。这个错误消息表示CUDA运行

c++ - 我如何在 VC++ 中使用 _W64 和 __w64?

有这样的东西__w64在VisualC++9中。我在尝试将我的nativeC++DLL移植到64位时遇到了它。特别是在crtdefs.h中有这个不错的片段:#if!defined(_W64)#if!defined(__midl)&&(defined(_X86_)||defined(_M_IX86))&&_MSC_VER>=1300#define_W64__w64#else#define_W64#endif#endif如果我没看错的话,这意味着对于64位_W64被定义为一个空字符串并且没有任何效果,但是对于32位它被定义为__w64。我尝试将_W64定义为空字符串,然后依次将__w64定