【问题标题】:Program executing twice after compilation程序编译后执行两次
【发布时间】:2014-01-08 10:34:11
【问题描述】:

我在程序员的记事本中制作了一个小的测试 c++ 文件,名为 main.cpp。

#include <iostream>

using namespace std;

int main()
{
    cout << "hello";
    return 0;
}

我使用 Mingw 并使用 windows cmd shell 进行编译:

g++ -o Test main.cpp

程序编译没有错误,并创建了 Test.exe。当我尝试在 de 命令 shell 中运行它时,它首先打开一个新的命令 shell,运行程序,关闭这个新的命令 shell,然后在第一个命令 shell 中再次运行程序。 当我浏览到文件夹并单击可执行文件时,也会发生同样的情况。它打开一个命令 shell,运行程序,关闭命令 shell,然后在第二个命令 shell 中再次执行此操作。

有人知道这里可能出了什么问题吗?我的编译器设置错误或类似的东西吗?我对设置编译器不是很有经验,所以它可能是非常基本的东西。

【问题讨论】:

  • 这对你来说不能正常工作,因为它错过了“使用命名空间 std;” .您在哪里尝试执行生成的二进制文件?在 MSYS 中?
  • 你是对的。这只是为了表明我没有做任何花哨的事情。我正在使用标准的 windows cmd 窗口。您认为 MSYS 会改善结果吗?
  • 没有。请贴出准确的调用命令及其输出,否则别人很难帮你。
  • 好的,我已经改写了这个问题。希望现在更清楚。
  • 嗯......还是太不清楚了,但很可能不是你的编译器,看起来你做错了什么。它可以是任何东西,你不太可能在这里找到这样一个微不足道的问题的答案。

标签: compilation mingw


【解决方案1】:

我遇到了完全相同的问题,最后偶然发现了这篇文章: Visual Studio 2013 runs project twice

因此,如果您将 Avast 用作防病毒软件,只需禁用 deepscreen,您的程序只会根据您的需要运行;)

/edit:任何使用云扫描的防病毒软件都可能导致这种行为

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-29
    • 2010-10-06
    • 1970-01-01
    • 1970-01-01
    • 2012-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多