我键入g ++ -o main.cpp main,我丢失了程序

时间:2018-11-25 22:51:46

标签: c++ linux g++

我刚刚将以下内容写入了控制台:

g++ -o main.cpp main

我的main.cpp不见了。

我刚刚失去了3个小时的工作吗?

1 个答案:

答案 0 :(得分:3)

是的,你做到了。 -o标志指定输出文件(在您的情况下为main.cpp,因为它是紧随其后的文件名):

g++ -o main.cpp main
    \_________/ \__/
              \    \_This is the input file.
               \_____This specifies the output file.

换句话说,您已告诉编译器尝试编译通常是可执行文件的文件,然后将结果写入源文件(覆盖该文件)。一个更合适的命令应该是:

g++ -o main main.cpp

这是开发人员不时遇到的教育时刻之一(包括像我这样的老黑客),这种事情应该说服您对git进行定期提交(或其他源代码控制系统),或使用构建系统而不是复杂的命令行来编译代码。