我的C ++代码编译但成为无法运行的程序无效

时间:2015-12-31 14:17:20

标签: c++ windows mingw codeblocks

我在Code :: Blocks上写了一个CPP程序并编译它(MinGW)。这是一个简单的应用程序,但显示了一个我仍然无法解决的大问题。

#include <iostream>

int main(int argc, char *argv[])
{
    std::cout << "Something here";
    return 0;
}

当我尝试运行这个程序时(在代码块上[F9 - 编译并运行])我得到了这个结果: Console

什么都没发生......

如果我从代码块中执行它,它就会打开并消失。但在这两个案例中,它是不可杀戮的,我不能杀死这个过程。但是当我尝试重新启动计算机时,我收到一个错误,它表示该程序未正确初始化。 我不知道如何调试程序,我不知道如何继续。你能帮帮我吗?

对于任何语言错误,我很抱歉,我还不是英语大师。谢谢。

修改:

#include <iostream>

int main(int argc, char *argv[])
{
    std::cout << "Something here" << std::flush;
    return 0;
}

它仍然不起作用。即使使用'\n'std::endl

2 个答案:

答案 0 :(得分:3)

你没有std::flush你的输出,所以“这里的东西”卡在std::cout的内部缓冲区上,并且在你的程序结束之前不打印。

要解决这个问题,你可以(选一个):

  • std::cout << "Something here" << std::endl;
  • std::cout << "Something here\n";
  • std::cout << "Something here" << std::flush;

答案 1 :(得分:3)

感谢Bo Persson(在我的帖子中评论过),我通过关闭我的防病毒软件(Avast)来修复它。谢谢!

修改

禁用Avast后,

std::cout << "Something here";(不含std::flush)也能正常工作。