码迷,mamicode.com
首页 > 其他好文 > 详细

编译过程学习

时间:2016-12-14 01:39:03      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:源代码   过程   编译器   开头   link   汇编指令   com   指令   编译错误   

通常我们在生成可执行文件时,使用一条gcc命令就可以了。但是这其中包含了以下几个过程。

1.预编译(preprocess)

预编译过程主要是处理源代码中以#开头的预编译指令。如宏的处理,头文件的包含,注释删除,加入行号和文件名标识以使在编译时,编译器产生编译错误和警告时显示行号。

gcc -E hello.c -o hello.i

2.编译(compile)

将预处理完的文件进行词法分析,语法分析,语意分析以及优化后产生汇编代码。

gcc -S hello.i  -o  hello.s

3.汇编(assembly)

根据汇编指令和机器指令的对照表一一将汇编代码翻译成机器指令

gcc -c hello.s -o hello.o

4.链接(linking)

链接so已生成可执行文件。

ld xx.o xx.o xx.o -lxxlib -lxxlib 

 

编译过程学习

标签:源代码   过程   编译器   开头   link   汇编指令   com   指令   编译错误   

原文地址:http://www.cnblogs.com/fellow1988/p/6174373.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!