Linux基础:GNU编译工具

GNU编译工具:

多样化
支持各种编程语言,支持各种操作系统。
gcc -v 查看版信息
构建过程:
预处理:gcc -E code.c -o code.i
编译:gcc -S code.i -> code.s
汇编:gcc -c code.s -> code.o
链接:gcc a.o b.o c.o … a.out
文件类型:
.h 头文件
.h.gch 头文件的编译结果,会被优先使用
.i 预处理文件
.c 源文件
.s 汇编文件
.o 目标文件
.a 静态库文件
.so 共享库文件
编译参数:
-E 只预处理
-S 编译
-c 汇编
-g 生成调试信息
-o 设置编译结果的名字
-std 设置语法标准
-Wall 产生尽可能多的警告
-Werror 把警告当错误处理
-L 设置库文件的查找路径
-I 设置头文件的查找路径
-l 指定要加载的库文件的名字
-On 优化等级
-pedantic 对于不符合 ANSI/ISO 语法标准的代码产生警告。
预处理指令:

#include <>/"" 包含头文件
#define 定义宏常量、函数
# 把标识符转换成字符串
## 连接标识符

#ifdef 宏名存在条件为真
#ifndef 宏名不存在条件为真
#undef 删除宏
#if/#elif/#else/#endif 条件判断
#error 提示错误,并阻止生成可执行文件,要与条件判断配合使用。
#warning 提示警告,
#line 设置行号

#pragma pack(1/2/4/8) 对齐与补齐的最大字节数
#pragma once 相当于头文件卫士
#pragma GCC dependency “file.h” 监控文件 //监控头文件,当目标文件内部的头文件信息被修改过再编译时就会报错
#pragma GCC poison “key” 设置关键字为病毒,禁止在代码中使用。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值