知识点16-20

学习目标

(1)什么是内联函数,为什么要有内联函数。

(2)程序分为几段。

(3)队列和栈的区别。

(4)一个.c文件怎么转换为可执行文件。

(5)SPI和IIC寻址的区别。


一、什么是内联函数,为什么要有内联函数

1.1、什么是内联函数

        内联函数是一种特殊的函数声明方式,通过在函数前面加上inline关键字,来指示编译器在调用这个函数的时候将他展开,而不是直接进行调用。

1.2、为什么要有内联函数

(1)减小函数调用的开销,提高执行效率。

(2)允许编译器进行优化,提高性能。

二、程序分为几段

(1)代码段:用于存储程序的可执行文件,一般是只读的,防止被修改。

(2)数据段:用于存储已经初始化的全局变量和静态变量。

(3)BSS段:用来存储没有初始化的全局变量和静态变量。

(4)堆:malloc和free进行管理。

(5)栈:存储局部变量,栈的申请和释放是由操作系统来决定的。

三、队列和栈的区别

(1)访问方式的不同:栈的是先进后出,队列是先进先出。

(2)栈只能在栈顶进行操作;队列在队尾进行插入,队首进行删除。

(3)应用场景不同:栈用于函数调用,表达式求值;队列用于任务调度,广度优先搜索。

四、一个.c文件怎么转换为可执行文件

(1)预处理:将头文件宏定义进行展开,生成没有注释的源代码。

(2)编译:将预处理得到的源代码转换为汇编代码。

(3)汇编:将汇编的代码转换为机器码生成对应的目标文件.o。

(4)链接:将全部的.o文件链接成一个可执行程序。

五、SPI和IIC寻址的区别

(1)SPI有4根线:MISO、MOSI、SCK、SS。

          SS片选:选择对应设备进行通信。

(2)IIC有2根线:SDA、SCL。

           通过从机地址进行寻址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值