草庐IT

vc_runtimeMinimum_x

全部标签

c++ - 缺少 vc_runtimeminimum_x86.msi 并且无法安装

我目前正在完成VisualStudio2017CommunityEdition与C++一起使用的安装过程。安装到一半,出现错误提示"Thefeatureyouaretryingtouseisonanetworkresourcethatisunavailable.ClickOKtotryagain,orenteranalternatepathtoafoldercontainingtheinstallationpackage'vc_runtimeMinimum_x86.msi'intheboxbelow."如果我点击取消,程序会继续,最后会告诉我设置失败。它给了我附在这篇文章底部的错误日志

c++ - VC++ 优化打破了与 NaN 的比较?

IEEE754要求NaN是无序的;当一个或两个操作数为NaN时,小于、大于、等于等都应返回false。下面的示例在所有优化级别使用g++编译时以及使用VC++的CL.exe(32位版本15.00.30729.01)编译时没有优化参数或/Od、/fp:fast、/arch:SSE的任意组合。但是,当使用/O1或/O2(以及任何/没有其他优化参数)编译时,TTFFFT结果,即使还指定了/Op。CL.exe的64位版本产生许多变体-TTFFFT、TTTFFT、TTTFFF等-取决于优化级别以及是否/fp:fast已指定,但与32位版本一样,合规行为似乎只有在禁用所有优化的情况下才有可能。我是

c++ - 在 VC11 中启用/禁用 SAFESEH?

我为zlib1.2.7创建了一个新的解决方案,将其设置为静态库,从./zlib/contrib/minizip添加了必要的头文件和源文件,并让它进行编译美好的。然后我将它链接到libpng(也作为静态库),它也可以正常编译。然后,我将libpng链接到我的图形引擎项目(也是一个静态库)...仍然没有错误。但是一旦我将我的主要项目链接到我的图形引擎,我就会收到几个关于crc32.obj、deflate.obj、inflate的LNK2026错误。obj、d3dxplane.obj、d3dxvec4.obj和其他zlib/directx相关模块。它告诉我它们来self的图形引擎库,所以我决

c++ - VC++ 仍然在顺序一致方面被破坏吗?

我看了(大部分)HerbSutter'stheatmoicweaponsvideo,我想用示例中的循环测试“条件锁”。显然,虽然(如果我理解正确的话)C++11标准说下面的例子应该正常工作并且顺序一致,但事实并非如此。在您继续阅读之前,我的问题是:这是正确的吗?编译器坏了吗?我的代码是否损坏-我是否错过了这里的竞争条件?我该如何绕过这个?我在3个不同版本的VisualC++上进行了尝试:VC10专业版、VC11专业版和VC12Express(==VisualStudio2013DesktopExpress)。下面是我在VisualStudio2013中使用的代码。对于其他版本,我使用了

c++ - VC++ : Performance drop x20 when more threads than cpus but not under g++

简单的多线程c++11程序,其中所有线程在紧密循环中锁定相同的互斥量。当它使用8个线程时(作为逻辑cpu的数量)可以达到500万锁/秒但是只添加一个额外的线程-性能会下降到200,000/秒!编辑:在g++4.8.2(ubuntux64)下:即使有100个线程,性能也不会下降!(性能是两倍多,但那是另一回事了)-所以这似乎确实是一个特定于VC++互斥实现的问题我用下面的代码(Windows7x64)复制了它:#include#include#include#include#include#include#includeusingnamespacestd::chrono;voidthre

c++ - MS VC 中的错误 C2143(缺少;命名空间之前)包括

我非常困惑为什么我会突然收到这个奇怪的错误:Time.h是一个非常简单的类,它在类描述的末尾有一个分号,所以我很确定我的代码在这里是正确的。然后我得到了同样的错误:MicrosoftVisualStudio10.0\VC\include\memory..任何想法!?!?谢谢!编译器输出1>ClCompile:1>Stop.cpp1>c:\projectnextbus\Time.h(17):errorC2143:syntaxerror:missing';'before'using'1>c:\projectnextbus\Time.h(17):errorC4430:missingtypes

c# - 有哪些 VC# 无法做到而 VC++(原生)可以做到的事情?

有什么可以用VC++(原生)完成而VC#无法完成的?据我所知,唯一值得使用VC++native的是当你需要自己管理内存而不是CLR垃圾收集器时,我还没有看到这样做的目的(但那是另一个问题稍后询问)。 最佳答案 跨平台开发。是的,Mono存在,并且Java的有点更可预测,使其在更多平台上的功能完全相同,您可以找到适用于几乎任何平台的C/C++编译器,而C#无法做到这一点.还链接到第3方库,虽然我确信有一种方法可以在C#中利用它们,但您将能够在C++中利用它们而无需互操作(编码(marshal)处理等)。编辑:最后一件事:可靠的内存管理

c++ - 在 Windows VC++ 2010 静态链接下构建 boost + ICU

我现在尝试将近一周的时间在Windows和VC++下构建一个可靠的boost+ICU库作为x86系统下的STATIC库(所以我不需要任何运行时dll)。我主要需要支持Unicode和boost.locale.icu的boost正则表达式。无法在整个网络上找到任何可靠的解决方案(不是在boost站点或ICU上)来执行此操作。尝试使用VC++、Cygwin+VC++进行构建,但到目前为止没有成功。有经验的帮助吗?或者,更糟糕的情况是,任何预构建的ICU静态+boost静态包?在我构建ICUstatic之后,在Cygwin下配置:bashrunConfigureICU--enable-deb

c++ - vc++ 不再使用基于范围的语法对简单的 for 循环进行矢量化

在用基于范围的for循环替换我的许多“旧”for循环之前,我使用visualstudio2013进行了一些测试:std::vectornumbers;for(inti=0;i查看反汇编,循环的标准都是矢量化的:00BFE9B0vpadddxmm1,xmm1,xmmwordptr[eax]00BFE9B4addecx,400BFE9B7addeax,10h00BFE9BAcmpecx,edx00BFE9BCjnemain+140h(0BFE9B0h)但是基于范围的for循环不是:00BFEAC6addesi,dwordptr[eax]00BFEAC8leaeax,[eax+4]00BFE

c++ - 为什么这段代码会使 VC++ 编译器崩溃?

我正在使用以下编译器:MicrosoftVisualC++2010以下代码在编译时使编译器崩溃:templatevoidcrasher(T_a,decltype(*a)*dummy=0){}intmain(){crasher(0);return0;}decltype(*a)*用于执行T_成为类似指针的类型-例如char*,int*,和shared_ptr.为什么会崩溃?这是已知错误吗? 最佳答案 假设你的目标是decltype(*a)*usedtoenforceT_tobeapointer-liketype-suchaschar*,