无法执行已编译的C ++ exe文件

时间:2016-01-06 00:21:36

标签: c++ g++ cygwin

我在执行C ++代码时遇到问题。我编写了一个基本的“Hello World”程序,并使用g ++ make命令对其进行编译。这是我的代码:

#include <iostream>

using namespace std; 

int main() {
  cout << "Hello World" << endl;
  return 0;
}

我在Windows 10上,使用Emacs进行代码编辑,使用CygWin进行编译。我将此文件保存为hello.cpp。然后我导航到CygWin中的目录。然后我做了命令make hello。这创建了hello.exe。然后,我尝试使用./hello.exe执行该文件。我也试过了./hello,这也没用。当我输入其中一个命令并点击Enter时,它就在下一行,没有做任何事情。我可以输入这个空行,但它不会做任何事情。有没有人知道让我的代码正确执行的方法。谢谢。

编辑:我尝试在cpp.sh(一个在线C ++编译器)上运行它,它运行良好。

2 个答案:

答案 0 :(得分:2)

您的程序可能正在运行,但控制台窗口正在关闭,然后才能看到任何内容。

尝试在程序结束时添加输入,以便等待。

int a;
cin >> a;

答案 1 :(得分:0)

您的代码很可能正在执行,但不会输出任何内容。那是因为它失败了。尝试使用echo $?运行后检查返回值。如果它不是0那么它已经崩溃了。也可以在gdb中运行它,看看它是否失败。它失败的原因很可能是windows / cygwin冲突 - 它不是你的代码。