目录
uboot 启动时使用的是物理地址还是虚拟地址?是否需要开启 MMU?
栈的空间最大值是多少?在 1G 内存的计算机中能否 malloc (1.2G)?为什么?
strcat、strncat、strcmp、strcpy 等函数在什么情况下会导致内存溢出?如何改进?
malloc、calloc、realloc 等内存申请函数有何区别和使用场景?
TCP 与 UDP 的区别是什么?
TCP(Transmission Control Protocol,传输控制协议)和 UDP(User Datagram Protocol,用户数据报协议)是两种不同的网络传输协议,它们在许多方面存在区别:
-
连接性
- TCP 是面向连接的协议,在通信之前需要建立连接,确保数据传输的可靠性和顺序性。
- UDP 是无连接的协议,不需要建立连接,直接发送数据报,可能会出现数据丢失、乱序等情况。
-
可靠性
- TCP 提供可靠的数据传输,通过确认、重传、拥塞控制等机制保证数据的完整性和准确性。
- UDP 不保证数据的可靠交付,接收方收到的数据可能是不完整或错误的。
-
顺序性
- TCP 确保数据按照发送的顺序到达接收方。
- UDP 不保证数据的顺序,数据可能会乱序到达。
-
头部开销
- TCP 头部较大,包含更多的控制信息,如序列号、确认号、窗口大小等。
- UDP 头部较小,只有源端口、目的端口、长度和校验和等少量字段。