常见Linux嵌入式面试题
文章平均质量分 78
Serendipity0。0
这个作者很懒,什么都没留下…
展开
-
常见Linux嵌入式面试题--单片机C语言杂项知识点 二
(资源分配给进程,同一进程的所有线程共享该进程的所有资源。②结构体中,各成员各自占有一块内存,同时共存,在上述结构体中,由于DATE为8字节对齐,所以int car占8字节,其次DATE cow占16字节,最后double dog占8字节,一起占32字节,即sizeof(struct data)=32;⑤通信:由于同一进程中的多个线程具有相同的地址空间,致使它们之间的同步和通信的实现,也变得比较容易。① 一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。线程依赖于进程而存在。原创 2023-08-22 10:49:17 · 118 阅读 · 1 评论 -
常见Linux嵌入式面试题--单片机C语言杂项知识点
注:inline作用:当在程序中调用一个内联函数时,是将该函数的代码直接插入到调用点,然后执行该段代码,所以在调用过程中不存在程序的跳转与返回问题,而对于普通函数的调用,程序是从主调函数点转去执行被调函数,待被调函数执行完毕后,再返回到主调函数的调用点的下一语句继续执行。先看未定义标识符p,p的左边是*,*p表示一个指针,跳出括号,由于[ ]的结合性大于*,所以*p指向一个大小为10的数组,即(*p)[10]。如果文件存在,那么将写入的数据追加到文件的末尾(文件原有的内容保留)。内存自动申请自动释放。原创 2023-08-22 10:42:47 · 152 阅读 · 1 评论 -
常见Linux嵌入式面试题--链表
这些是链表的基本操作示例,可以根据需要进行修改和扩展。记得在使用完毕后释放链表所占用的内存,避免内存泄漏。// 指向下一个节点的指针。// 未找到要删除的节点。// 内存分配失败处理。// 节点创建失败处理。原创 2023-08-22 10:18:57 · 80 阅读 · 1 评论 -
常见Linux嵌入式面试题--常见算法
桶排序 | O(n + k) | O(n + k) | 稳定 || 归并排序 | O(n log n) | O(n) | 稳定 || 基数排序 | O(d(n + k)) | O(n + k) | 稳定 || 希尔排序 | O(n log n) | O(1) | 不稳定 || 快速排序 | O(n log n) | O(log n) | 不稳定 |原创 2023-08-22 08:19:57 · 132 阅读 · 1 评论 -
常见Linux嵌入式面试题--C语言杂项概念
当 C++ 代码与 C 代码进行混合编译时,可以使用 extern "C" 来告诉编译器将某段代码按照 C 语言的规则进行处理,避免了 C++ 的名称修饰和函数重载导致的链接错误。inline是 C 语言的关键字,用于声明内联函数。编译阶段:const 常量在编译时进行类型检查,具有更强的类型安全性,而 #define 宏定义是简单的文本替换,在预处理阶段进行,没有类型检查。- 内存对齐是为了提高访问效率和处理器的要求,结构体中的成员在内存中按照特定规则对齐,通常以成员大小或者指定的对齐值为基准进行对齐。原创 2023-08-21 15:19:43 · 118 阅读 · 1 评论 -
常见Linux嵌入式面试题--ARM单片机常见面试题
Ethernet:Ethernet使用至少四根线,包括一对差分信号线(TX+和TX-,或RX+和RX-),一根时钟线(CLK),以及一根地线(GND)。SPI:SPI通常使用四根线,包括一个主机输出从机输入的数据线(MOSI),一个主机输入从机输出的数据线(MISO),一个时钟线(SCK)用于同步数据传输时序,以及一个片选线(SS/CS)用于选择特定的从机。USB:USB通常使用四根线,包括两根用于双向数据传输的差分信号线(D+和D-),一根用于提供电源(VCC),以及一根地线(GND)。原创 2023-08-21 15:15:53 · 247 阅读 · 1 评论 -
常见Linux嵌入式面试题--Linux操作系统概念
中断是由外部事件触发的信号,用于中断当前正在执行的程序流程,以处理紧急或优先级较高的任务。堆的大小通常由操作系统管理,并通过特定的分配和释放方法(如malloc和free)来进行内存的分配和释放。操作系统会管理和切换用户态和内核态之间的转换,以确保系统的稳定性、安全性和资源的合理利用。- 内核(Kernel)是操作系统的核心部分,负责管理和控制计算机的硬件资源,提供各种系统服务和功能。堆的大小通常由操作系统管理,并通过特定的分配和释放方法(如malloc和free)来进行内存的分配和释放。原创 2023-08-21 14:59:26 · 297 阅读 · 1 评论 -
常见Linux嵌入式面试题--网络编程概念
MTU的常见值为1500是因为在以太网(Ethernet)中,定义了一种常用的帧格式,称为以太网帧(Ethernet Frame),其中数据字段的最大长度为1500字节。包头+包体:发送方在每个数据包的开头加上包头信息,包头中包含了数据包的长度等信息,接收方首先读取包头来获取数据包的长度,然后根据长度读取对应长度的数据。问题常见于基于流式传输的协议(如TCP),由于数据的发送和接收没有固定的边界,导致多个数据包被一次性发送或接收,造成粘包现象。是面向连接的协议,提供可靠的数据传输和错误检测机制。原创 2023-08-21 14:54:45 · 79 阅读 · 1 评论 -
常见Linux嵌入式面试题--进程线程的基本概念
由于线程共享同一进程的内存空间,因此可以直接访问共享的变量或数据结构,实现高效的通信。在选择线程通信的方式时,需要根据具体的应用场景和需求综合考虑数据量、性能要求、线程间关系以及对隔离性和同步机制的需求,以满足应用程序的要求。进程和线程的状态转换图中,阻塞状态发生在等待某个事件完成或资源可用时,就绪状态是指进程或线程已获取所有必需的资源,并等待被调度执行。资源剥夺策略:当某个进程(线程)无法获取所需资源时,可以主动抢占或回收其他进程(线程)占有的资源,以满足当前进程(线程)的需求。原创 2023-08-21 14:51:12 · 143 阅读 · 1 评论