g++和gcc编译的四个过程及命令
- 预处理,此过程会生成.i文件
以c文件为例:
命令如下:
gcc -E hello.c
此命令不会生成文件,需要将它重定向,命令如下
gcc -E hello.c -o hello.i
或者,
gcc -E hello.c > hello.i
- 将预处理文件转换成汇编语言,生成.s文件
命令如下:
gcc -S hello.i
或者
gcc -S hello.cpp
- 汇编转换成目标代码(机器代码)生成.o文件
命令如下:
gcc -c hello.s
或:
gcc -c hello.s -o hello.o
或:
gcc -c hello.cpp
- 连接目标代码,生成可执行程序
命令如下:
gcc hello.cpp -o hello
或,
gcc -o hello hello.cpp
或
gcc -o hello hello.o