【原】gcc生成从编译-生成执行各种文件步骤
热度 1||
(1)从源文件到可执行文件,一共包括4个过程:生成预编译文件,生成汇编文件,生成目标文件,生成可执行文件。
(2)查看一个编译过程所使用的编译器,汇编器,链接方式,可以通过gcc -c 生成可执行的文件 源文件 -v来查看,-v就是查看编译过程的主要参数。
(3)下面是4个过程的命令方式:
1、生成预编译文件,命令:gcc -E -o *.cpp *.c ,*.cpp即为预编译文件。
2、通过预编译文件生成汇编文件,命令:gcc -x cpp-output -S -o *.s *. cpp,即可通过*.cpp生成*.s。
注:也可通过gcc -S *.c可从源文件直接生成汇编文件。
3、通过汇编文件生成目标文件,命令: gcc -x assembler -c test.s,将汇编文件生成目标文件。
注:也可通过gcc -c *.c 将源文件直接生成*.o文件
使用汇编器as -o *.o test.s从汇编文件 生成目标文件
4、通过目标文件生成可执行文件,命令:gcc -o 可执行文件名 *.o
注:可直接通过gcc -o 可执行文件名 *.c 通过源文件直接生成。
-x :指定命令的步骤,个人理解就是用户指定gcc怎么命令的,如上面(3)-2中我们看到使用了-x来指定下面编译器是怎么编译的。
-S: 要说明的是在生成汇编文件后就停止,不再进行汇编,这样就可以得到汇编文件。
-E: 生成预编译文件后不再进行编译,这样就可以得到预编译文件。
-o:可以理解成目标是要生成什么,一般后面直接跟需要生成的文件。
cpp-output:指明从预处理得到的文件开始编译,即从*.cpp开始往后