为什么 g++ 不覆盖可执行文件

Ben*_*ist 5 emacs g++

所以我正在尝试从 Windows 迁移到 Linux。今天我试图用 Emacs 而不是 Windows IDE 来编码和编译东西。这是我的示例代码:

#include <iostream>

using namespace std;

int main() {
  cout << "HELLO" << endl;
}
Run Code Online (Sandbox Code Playgroud)

我使用 esc-x-> compile-> g++ -o hello hello.cpp 从 emacs 编译

在终端中,我使用 './hello' 执行 hello。然后我将代码更改为 'cout << "HOLA FFS" << endl;' 并尝试再次使用 g++ -o hello hello.cpp 进行编译。编译完成没有错误,但是当我尝试从终端执行 hello 时,输出是“HELLO”而不是“HOLA FFS”。

为什么要这样做?

abo*_*abo 0

您应该查看此问题的已接受答案:

Emacs 最快的 C++ 编译过程?

基本上,那里的代码(您应该粘贴到~/.emacs)将:

  1. 自动保存您的文件
  2. 生成Makefile,如果尚不存在
  3. 跑步compile
  4. 如果compile成功完成,则运行该程序,否则,显示第一个错误。

而这一切都只需f5:)