面试题----gcc的编译流程

gcc编译流程

一、    编译与处理指令:

gcc -E hello.c -o a.c

如果不使用-o指定输出的文件,会默认输出到终端。所以建议使用同时使用-o选项。

还要注意:编译时会保留#pragma编译器指令,因为编译器需要使用它们。

 

二、    编译指令:

将C代码翻译成汇编代码

gcc -S hello.c -o a.s

如果不使用-o选项指定输出文件,默认输出到a.s。

 

三、    汇编指令:

将汇编代码翻译成机器码

gcc -c hello.c -o a.o

如果不使用-o选项指定输出文件,默认输出到a.o。

 

四、    链接指令:

gcc hello.c -o a

gcc不带任何参数。

如果不使用-o参数指定输出的文件,会默认生成a.out文件。

 

以上指令,后面的指令都包含前面指令的功能,比如gcc不带参数,不是仅仅适用于链接,它也可以包含整个编译阶段。

 

posted @ 2017-11-14 11:19  青儿哥哥  阅读(1571)  评论(0编辑  收藏  举报