Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/131.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Visual Studio 2015 C++;编译时间冻结计算机,直到编译完成_C++_Visual Studio - Fatal编程技术网

C++ Visual Studio 2015 C++;编译时间冻结计算机,直到编译完成

C++ Visual Studio 2015 C++;编译时间冻结计算机,直到编译完成,c++,visual-studio,C++,Visual Studio,Windows 10 x64 Visual Studio 2015社区 我试着重新格式化我的电脑,重新安装,但它不工作。 基本上,每当C++在“生成代码”上时,它会冻结我的计算机直到它完成编译。如果代码很小,它将冻结,但对于编译所需的w/e量。冻结根本不允许我使用我的电脑,它甚至会冻结我的屏幕和我正在运行的任何视频游戏 i5 3570k 12 GB海盗船1600 Mhz 500 GB硬盘驱动器7200 RPM 我能做什么?如果看不到至少一个系统信息(.nfo)文件,很难说。但是,有一些事情值得检

Windows 10 x64 Visual Studio 2015社区

我试着重新格式化我的电脑,重新安装,但它不工作。 基本上,每当C++在“生成代码”上时,它会冻结我的计算机直到它完成编译。如果代码很小,它将冻结,但对于编译所需的w/e量。冻结根本不允许我使用我的电脑,它甚至会冻结我的屏幕和我正在运行的任何视频游戏

i5 3570k 12 GB海盗船1600 Mhz 500 GB硬盘驱动器7200 RPM


我能做什么?

如果看不到至少一个系统信息(.nfo)文件,很难说。但是,有一些事情值得检查:

  • 查看是否启用了
    /MP
    选项(
    项目
    选项->C/C++->所有选项->多处理器编译
    )。尝试 明确禁用它
  • 由于硬盘驱动器状态不佳,系统也可能冻结。使用任何HDD验证实用程序进行检查,查看您的计算机是否因HDD密集型操作(如批量文件复制)而冻结

  • 另一个答案上的评论确认这是CPU问题,而不是IO问题。不过,这两种情况的解决方案是相同的。降低Visual Studio的进程优先级。您可以在任务管理器中轻松地执行此操作。这将降低CPU和IO优先级,因此其他所有内容现在都将具有相对较高的优先级


    不过,您仍将达到100%的CPU负载。也就是说,前台得到它所需要的一切,而编译器得到剩余的CPU时间。当有工作要做时,闲置CPU是没有意义的。(当编译器在等待HDD读取文件时,可能会略低)< P> >可以转到Toeal->设置,搜索<代码> VC++项目设置> /> >并调整<代码>最大并发C++编译< /代码>。默认值为0,这意味着“使用所有处理器”

    在编译运行之前,是否可以打开任务管理器或Process Explorer。CPU是否过高?请描述您是如何“编译”的。你只是在做一个build+run吗?@chieftwocpencils只是一个版本x64的构建,默认的VS2015项目设置。CPU使用率约为5%,在生成代码时我看不到我的CPU使用率,因为它会完全冻结,直到它完成。当您列出内存的品牌和速度时,这听起来像是一个自制系统。验证是否为硬件安装了所有正确的驱动程序。编译是磁盘密集型的,如果您的芯片组没有合适的驱动程序(使windows能够高效地访问磁盘),那么一切都会运行缓慢。可能您应该运行更简单的构建。使用所有CPU时,您在想什么?操作系统是否足够智能来管理这个简单的规则?尝试禁用/MP,进行了重建,但不会冻结我的计算机!但是为什么/MP把它冻结得如此可怕?!(100%cpu使用率-如果没有给出修复,我将选择此答案作为解决方案)如果启用了
    /MP
    标志,Visual Studio将为系统中的每个有效处理器创建一个编译器实例。您可以在标记后使用可选数字限制处理器计数,例如,
    /MP2
    那么多处理器机器的用途是什么?你在单CPU机器上做什么?多CPU机器的用途是什么?我不明白你想说什么,如果你总是要为前台进程保存至少一个CPU,为什么要使用n-CPU机器?这是操作系统控制进程优先级的任务。单CPU机器呢?当VS使用我所有的4个内核进行编译时,我的电脑速度变得非常慢,这一事实对我来说已经足够了。显然,它对VisualStudio的优先级太高了。您不希望降低IDE的优先级,而是希望降低编译器/链接器的优先级。编译器和链接器都是IDE的短暂子进程。因为它们是子进程,它们继承IDE的优先级,而且因为它们是短暂的,所以很难直接设置它们。您不想更改IDE优先级的原因是,您希望在编译器/链接器运行时保持它的响应性。当其他具有正常优先级的进程需要CPU时间时,您希望保持它的响应速度/