嵌入式软件刷题笔记【第三天】

1.传指针和传引用

在 C 语言中,传引用和传指针是两种不同的方式来传递变量的地址。

	传引用是指在函数中使用变量的别名,来访问和修改变量的值。在 C 语言中,可以使用 & 符号来传递变量的地
址。例如:
void foo(int &x) {
x = x + 1;
}

int main() {
int a = 10;
foo(a);
// a 的值现在是 11
return 0;
}
		传指针是指在函数中使用指针变量,来访问和修改变量的值。在 C 语言中,可以使用 * 符号来声明指针变量,
	并使用 & 符号来获取变量的地址。例如:
void foo(int *p) {
*p = *p + 1;
}

int main() {
int a = 10;
foo(&a);
// a 的值现在是 11
return 0;
}

在这两种情况下,都可以使用函数来修改变量的值。但是,传引用的方式比传指针的方式更简单,因为不需要使用指针运算符来访问变量的值。二者的区别是,指针可以重新指向另一个地址,但是引用不能重新指向另一个变量,他只能被初始化一次

2.动态库和静态库的区别

静态库:在编译的时候就将所有目标库全部整合进代码中。这样的优点是,执行过程中不
需要额外添加库。缺点是当代码中某个库需要更新则需要重新编译一遍。
动态库:当程序调用某个库的函数时才将所需库加载到代码中。这样的优点是,库的更新
不需要重新编译。缺点是,程序运行环境中必须包含程序所需所有函数库。

3.SPI是什么,有几根线,有几个模式

SPI是一种高速的,全双工,同步通讯方式。一共有四根线。SPI总线有四种工作方式,通过行同步时钟极性和相位可以进行组合配置。

CPOLCPHA工作方式
00数据发送高电平有效,采样是在第一个跳变沿,发送数据是在第二个跳变沿
01数据发送高电平有效,采样是在第二个跳变沿,发送数据是在第一个跳变沿
10数据发送低电平有效,采样是在第一个跳变沿,发送数据是在第二个跳变沿
11数据发送低电平有效,采样是在第二个跳变沿,发送数据是在第一个跳变沿

4.逻辑地址、虚拟地址、物理地址、总线地址的区别?

逻辑地址:是内存分段管理方式中的段内偏移地址。
虚拟地址:由MMU映射出来的地址。
物理地址:将虚拟地址通过MMU进行抵制转换后的地址就是物理地址
总线地址:总线地址是用于在总线上识别设备的唯一标识符。。在计算机系统中,总线地址通常用于识别从总线连接的设备

5.用户空间与内核空间有哪些通信方式?

1.系统调用:用户空间的程序可以通过系统调用来请求内核空间的服务。系统调用是一种
特殊的函数,允许用户空间的程序访问内核空间的功能。
2.信号:用户空间的程序可以通过向内核发送信号来请求某些特殊操作。内核可以通过向
用户空间发送信号来通知用户空间的程序有关特定事件的发生。
3.共享内存:用户空间的程序和内核空间的程序可以通过共享内存进行通信。共享内存是
一块在内核空间和用户空间之间共享的内存区域。

6.Linux系统的挂起、待机、休眠?

挂起:CPU,内存继续工作,显示器等外设停止工作。
待机:CPU等外设停止工作。内存正常运行。
休眠:CPU,内存等外设停止工作,并且将内存中的数据保存在硬盘中。

7.简述TCP三次握手的过程

	1.发送方发送SYN报文段:发送方发送一个SYN报文段,表示它希望建立一个新的连
接。SYN报文段还包含发送方的初始序列号。

	2.接收方接收SYN报文段并回复SYN+ACK报文段:接收方收到SYN报文段后,会回
复一个SYN+ACK报文段。SYN+ACK报文段包含接收方的初始序列号和确认号。确认号
表示接收方已收到了发送方的SYN报文段。

	3.发送方接收SYN+ACK报文段并回复ACK报文段:发送方收到SYN+ACK报文段后会
回复一个ACK报文段。ACK报文段包含发送方的确认号,表示它已收到了接收SYN+ACK
报文段。

8.简述TCP四次挥手的过程。

	1.发送方发送FIN报文段:发送方发送一个FIN报文段,表示它希望关闭连接。
	2.接收方接收FIN报文段并回复ACK报文段:接收方收到FIN报文段后,会回复一个AC
K报文段,表示它已经收到了FIN报文段。
	3.接收方发送FIN报文段:接收方也希望关闭连接,因此它会发送一个FIN报文段。
	4.发送方接收FIN报文段并回复ACK报文段:发送方收到FIN报文段后,会回复一个AC
K报文段,表示它已经收到了FIN报文段。

9.为什么建立连接只需要三次握手,而断开连接需要四次挥手呢?

建立连接时,服务器处于listen状态,此时可立即建立连接,把ACK和SYN放在一个报文
里发送给客户端。
断开连接时,服务器可能还有数据暂时未给客户端发送完毕,此时不能立即断开连接,因
此此时ACK(应答信号)和SYN(释放连接)需要分开发送,故比三次握手多一个环节。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值