【问题标题】:Code compiled with cl hangs too long on the first run [closed]使用 cl 编译的代码在第一次运行时挂起太久[关闭]
【发布时间】:2019-06-27 20:19:08
【问题描述】:

我用 cl 编译我的 C++ 代码。然后当我尝试运行它时,它会挂起约 10 秒,然后运行。但这只会发生在编译过程后的第一次运行中。随后的调用运行没有任何问题。但是如果我再次编译代码,那么第一次运行仍然会挂起。

我安装了 VS 2017 并调用“VC\Auxiliary\Build\vcvarsall.bat”来使用 cl。我正在使用命令行来编译和运行我的代码。这就是所有问题发生的地方。如果我在 Visual Studio 中编码和编译,则不会出现停滞问题。只有当我使用命令行并且我不知道为什么时才会发生这种情况。

#include <stdio.h>

int main()
{
    printf("Testing\n");
    return 0;
}

编译代码

cl main.cpp

【问题讨论】:

  • 请展示你是如何运行你的代码的。
  • 您是否有任何防病毒软件可以验证文件是否可以安全运行?
  • 我只是调用main.exe 来运行程序。我有 Avira 作为防病毒软件。但我不确定这是否是问题的根源。因为我用了很多年,这个问题已经存在了几个月。
  • 在 Stack Overflow 上与人交流的提示:您需要“ping”个人才能在 cmets 中回答他们。否则他们不会收到通知。您可以这样做 - @YalcinOzveren - 通过使用带有屏幕名称的 @ 字符。要向原始问题添加缺失的信息,请使用edit 链接 - cmets 往往会被删除...
  • 由于延迟很明显,启动像 Process Explorer 这样的监视器,然后重建并运行程序,看看监视器是否可以帮助发现坏人。

标签: c++ compilation cl


【解决方案1】:

问题似乎与防病毒软件有关。我卸载了 Avira,问题就消失了。现在我正在使用 Avast。它也会挂起程序,但只挂起大约 1 秒钟。所以这没什么大不了的。

【讨论】:

  • 如果您在“工作”目录中完成所有或大部分开发工作,您可能会将该目录设置为被 AV 扫描仪忽略。请勿对公共目录执行此操作,例如 Windows 中您帐户的 Documents 文件夹,或者如果您担心有针对性的攻击。
  • @user4581301 这就是我所做的。我排除了包含来自 AV 扫描仪的所有代码的文件夹,一切都很好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-06
  • 1970-01-01
  • 2013-11-29
  • 2017-04-30
  • 2011-12-11
相关资源
最近更新 更多