初识gcc编译过程

gcc是一款强大的语言编译工具。还有很多的好处就不再说。我们来具体的认识一下这个编译器吧。

hello.c

#include <stdio.h>

#include"sum.h"

int main()

{

      printf("sum=%d",sum(4,5));

}

sum.h

extern int sum(int a,int b);      //声明

sum.c

int sum(int a,int b)

{

     return a + b;

}


gcc编译过程可分为四个步骤:

预处理

编译

汇编

链接

首先我们看到有一些#include < > , 这些是系统的头文件,包含的可以是库文件也可以是自己写的一些文件。

其中 < > 包含的文件编译器只在系统的头文件目录里面查找,找不到就报错(user / include / )

 "  " 先在当前目录找,找不到到系统的头文件目录。

gcc  -E  hello.c  >  hello. i (其中-E 是编译器到预处理结束,将hello.c预处理成hello.i文件)

预处理主要做了哪些工作呢?(1.加载头文件 2.宏替换 3.条件编译)

gcc  -c   hello.c(到编译阶段停止)(生成目标文件hello.o文件)

gcc  -S  hello.c  (进行到汇编,生成hello.s文件)

gcc  -Wall hello.c(将所有警告都列出来)


gcc  hello.c  -lm(其中 l 是链接一个库,库名是m(代表math。h))


gcc  hello.c  -ladd  -L.  - o hello(使用add里面的函数)


gcc -shared  -fPIC  hello.c   -o   libhello。so(创建动态的库文件,文件名为hello )




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值