早教吧 育儿知识 作业答案 考试题库 百科 知识分享

问段GCC的命令,请逐字的解释一下g++-std=c++11-o2-oa.outorienteering.cpp./a.out

题目详情
问段GCC的命令,请逐字的解释一下g++ -std=c++11 -o2 -o a.out orienteering.cpp./a.out < example1.txt
请问一段GCC的命令,请逐字逐句的解释一下g++ -std=c++11 -o2 -o a.out orienteering.cpp./a.out < example1.txt 每一部分都是什么意思,小弟没学过unix下的编程,
▼优质解答
答案和解析
写错了,-O2才对.
第一行:
g++ -std=c++11 -o2 -o a.out orienteering.cpp
gcc有很多优化参数,-Ox一类(-O -O1 -O2 -O3 -Ofast -Os……)是优化参数,这些参数简单集了很多参数,都不要管它,-O2是在速度与程序体积上取得平衡的优化.
-o 文件名 输出的最终程序,如果不指示,默认也是a
-std=c++11就是用按C++2011标准来编译的,早期一些的是用C++1998编译的.现在好像都是开着用2011年标准编译的了.
orienteering.cpp就是那个源程序.
到了下一行
./a.out < example1.txt
./就是当前目录.“左边” < “右边”就是把右边文件的内容重定向左边程序的标准输入(C++里就是std::cin).这个在Windows里面也有的呀
如果你在看一个文件,你可能会说明明是在一行的,怎么我说是两行?因为你看的这个文件是Linux格式的文件,在Linux里用换行表示下一行,但在在Windows里面是换行+回车.所以在Windows的编辑器里面看到的不认为有两行.