之前只是简单的应用,这次仔细梳理下gcc编译cpp为可执行文件的过程
假设有一个cpp文件test.cpp
如果要编译成可执行文件,就直接
g++ test.cpp -o test
然后生成的test就是可执行文件,在终端直接输入
./test
就可以执行;
其实以上步骤可以分解为
1.预处理生成 .i文件
g++ -E test.cpp -o test.i
2.编译生成汇编文件
g++ -S test.i -o test.s
3.汇编文件生成机器语言代码,注意c小写
g++ -c test.s -o test.o
4 链接生成可执行文件
g++ test.o -o test
然后生成的test就是可执行文件,在终端直接输入
./test
就可以执行;
除此之外还可以使用一些编译参数
比如
-g选项产生带调试信息的可执行文件,可供gdb调试使用
g++ -g test.cpp -o test
-O[n] 可以优化源代码
g++ test.cpp -O2 -o test