之前用的是Centos7,内置的gcc版本是4.8.5,不能直接支持C++11,我又换了个Centos9,重新装了一遍虚拟机,这下gcc是11.5.0的版本号。
写了一个hello world的C++程序,命名为test.cpp,运行编译器的命令为如下:
g++ -o test test.cpp
随后在当前目录底下就会出现一个test的文件,然后再输入
./test
就可看见运行结果:hello world
如果想一步一步查看从预处理到执行的过程,代码如下:
第一步 -- 得到预处理后的源代码
g++ -E test.cpp -o test.i
随后目录底下会出现一个名为text.i的文件
第二步 -- 得到编译器处理之后的汇编代码
g++ -S test.i -o test.s
随后目录底下会出现一个名为test.s的文件
第三步 -- 得到经过汇编器处理的目标代码
g++ -s test.s -o test.o
随后目录底下会出现一个名为test.o的文件
第四步 -- 执行得到结果
./test.o
然后就会输出hello world
linux中./用于执行当前目录下的可执行文件
p.s. 看别的博客,都还有一步
g++ test.o -o test.exe
随后才是下边这句命令得到结果,但我没跑成功,不知道为啥。
./test.exe
先把疑问放到这里,之后实践多了再来填坑!