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



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

#include <iostream>
using namespace std;
int main() {
  cout << "HELLO" << endl;
}

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

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

它为什么要这么做?

可能的原因是您在更改代码后没有保存代码。我不认为这一定与消瘦有关。记住经常使用C-x-C-s。

您应该查看这个问题的公认答案:

Emacs C++编译过程最快?

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

  1. 自动保存文件
  2. 生成Makefile,如果它还没有
  3. 运行compile
  4. 如果compile成功完成,则运行程序,否则显示第一个错误

所有这些都只需要f5:)

最新更新