textbox

IT博客 联系 聚合 管理
  103 Posts :: 7 Stories :: 22 Comments :: 0 Trackbacks

gcc的编译流程分为四个步骤,分别为:
预处理(Pre-Processing)
编译(Compiling)
汇编(Assembling)
链接(Linking



1)
预处理: (-E 只预处理 ) gcc –S hello.i –o hello.s
     把对应的 *.c 文件内 include 的头文件全部加入到一个 *.i的预处理源码文件

2) 编译: (-S 只编译不汇编)
    语法检查,词法分析

3) 汇编: 
gcc –c hello.s –o hello.o
    把代码转化成汇编代码

4) 连接:
gcc hello.o –o hello
   把目标文件连接成执行文件(连接函数库)
  
   静态连接: 把使用到的外部函数以代码的形式嵌入到执行文件中 (增加执行文件的体积,运行无需函数库文件)
   动态连接: 只是保存外部函数的一些call信息,用于程序运行时候会叫外部函数。
(体积比静态要小,运行时候需要函数库文件支持)
  
posted on 2009-10-17 13:44 零度 阅读(398) 评论(0)  编辑 收藏 引用 所属分类: Linux
只有注册用户登录后才能发表评论。