Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 我输入了g++-o main.cpp main和我丢失了我的程序_C++_Linux_G++ - Fatal编程技术网

C++ 我输入了g++-o main.cpp main和我丢失了我的程序

C++ 我输入了g++-o main.cpp main和我丢失了我的程序,c++,linux,g++,C++,Linux,G++,我刚刚在控制台中写入了以下内容: g++ -o main.cpp main 我的main.cpp不见了 我刚才丢了3个小时的工作吗?是的,你丢了。-o标志指定输出文件(main.cpp,在您的情况下,这是紧跟其后的文件名): g++-o main.cpp main \_________/ \__/ \\\这是输入文件。 \_____这将指定输出文件。 换句话说,您已经告诉编译器尝试编译通常是您的可执行文件的内容,并将结果写入源文件(覆盖它)。更合适的命令是: g++-o main.cpp

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

g++ -o main.cpp main
我的
main.cpp
不见了


我刚才丢了3个小时的工作吗?

是的,你丢了。
-o
标志指定输出文件(
main.cpp
,在您的情况下,这是紧跟其后的文件名):

g++-o main.cpp main
\_________/ \__/
\\\这是输入文件。
\_____这将指定输出文件。
换句话说,您已经告诉编译器尝试编译通常是您的可执行文件的内容,并将结果写入源文件(覆盖它)。更合适的命令是:

g++-o main.cpp


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

试试
g++--help
或者
mang++
总之,“是”。从中可以学到什么——使用git或mercurial等版本控制系统,每编写几条语句就提交一次。您了解cmd文件了吗?也许您的第一个cmd文件可能总是备份副本。然后当你看到你的错误。。。总有一天,你会想尝试make,它有一个更陡峭的学习曲线。步骤1-键入可执行cmd文件(可能是build?),该文件运行g++命令编译helloWorld.cpp。当它在不覆盖您的输入的情况下工作时,请继续执行步骤2。我确实理解这里发生的事情-我不理解您的解释。还有,为什么不手动键入命令,而是将它们放在生成文件或其他生成脚本中。@o11c:命令越复杂,出错的可能性越大。对比
gcc-std=c11-O2-funsigned位域-fallow single precision-fgimple-c-o prog.o prog.c
make
:-)显然,您仍然需要在第一次(在配置构建系统时)就正确地完成它,但是,一旦完成了,您通常不需要再担心它。