Linux下文件的编译

一、文件的编译
    gcc 文件名

  c文件类型
    .h ——头文件
    .h.——gch 头文件的编译结果,与头文件同时存在时,会被优先使用
    .c ——源文件
    .i ——预处理文件
    .s ——汇编文件
    .o ——目标文件
    .so ——共享库
    .a ——静态库

二、编译器
  负责把人能看懂的用代码记录的文本文件,翻译成计算机能看懂的二进制文件
  由预处理器、编译器、链接器
  gcc是由gnu社区为了编译Linux内核代码而开发一款免费的编译器,默认采用c89编译语法
  -std=gnu99 可以设置为C99语法

1、gcc code.c  -> a.out(默认可执行文件名)
    常用参数:
        -E 显示出预处理结果
        -S 生成汇编代码
        -c 只编译不链接
        -o 设置编译结果的名字
        -std= 设置编译语法
        -I(大写i) 路径  指定头文件的加载路径  
        -l 指定要使用的库文件  例: -lm
        -Wall  更严格地检查代码,尽可能多地产生警告
        -Werror  把警告当错误处理

2、 c代码源文件变成可执行文件的过程:
    预处理:把源文件翻译成预处理文件
        gcc -E code.c   把预处理结果打印到终端
        gcc -E code.c -o code.i 生成以.i结尾的预处理文件
    编译:把预处理文件翻译成汇编代码
        gcc -S code.i 生成以.s 结尾的汇编文件
    汇编:把汇编文件翻译成二进制的目标文件
        gcc -c code.s  生成以.o 结尾的目标文件
    链接:把若干个目标文件合并生成一个可执行文件
        gcc a.o b.o ……  默认生成a.out 可执行文件
        gcc a.o b.o …… -o newname 指定生成别名的可执行文件

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值