我刚刚将以下内容写入了控制台:
g++ -o main.cpp main
我的main.cpp
不见了。
我刚刚失去了3个小时的工作吗?
答案 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
进行定期提交(或其他源代码控制系统),或使用构建系统而不是复杂的命令行来编译代码。