编译器gcc(标准)

*1、Linux:gcc
unix:cc

2、gcc的特点:
GNU编译工具链中的一个编译器;
可以实现交叉编译。

汇编的特点:
能够访问硬件;
每个CPU都有自己的汇编语言

**PC机:**x86体系结构–x86汇编
**手机、移动终端:**arm体系结构–arm汇编

什么是交叉编译:
在当前CPU平台编译出能够在其它CPU平台下运行的程序

如何实现交叉编译:
安装交叉编译器(arm-linux-gcc)

在编译器里,源文件到可执行经历了哪几个步骤?
预处理–>编译–>汇编–>链接

预处理(-E):
1、头文件展开
2、宏替换
3、条件编译(-D)

#include <stdio.h> VS #include "stdio.h"
头文件的搜索路径不一样
< >:系统的头文件目录;/usr/include 包含系统的头文件
" ":先在当前目录查找,再到系统头文件目录;包含用户的头文件;
第三方搜索路径:-l

特点:不做语法检查;导致预处理阶段的代码不安全;

编译(-C):
语法检查,词法分析,生成目标文件(.o)
如何编译优化?去除一些无用变量

汇编:
目标文件转化为汇编文件(.o->.s)

C和汇编访问硬件时,如何选用什么语言?
当对硬件做复杂操作时,用C语言;
当对硬件做初始化时,用汇编

其它编译选项:

-w:关闭所有警告信息
-Wall:打开所有警告
-o1 -o2 -o3:编译优化选项
-o:生成文件重命名

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值