gcc 的一些命令记录

 

把GCC的编译信息重定向到一个文件中

 

“gcc -c test.c 2> error.txt, Unix下错误输出的ID一般为2”

 

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信息,用于程序运行时候会叫外部函数。 
(体积比静态要小,运行时候需要函数库文件支持)

你可能感兴趣的:(c,汇编,unix,gcc,include)