未命名 Linux实现malloc的终极指南 对任何学习或使用过c语言的人来说,malloc函数应该并不陌生。众所周知,malloc允许我们申请一段连续的内存区域,并且当这块内存不再需要时,可以通过free函数将其释放。尽管如此,很多开发者对于malloc函数... 2025-02-10 104 阅读 泥小猴系统教程网
未命名 零长度数组无意义解析 灵活性::零长度数组允许我们在不知道具体需要多少存储空间的情况下,先分配一个基本的结构体。这样,我们可以在后续的程序执行中,根据需要动态地添加数据到这个零长度数组中。这种灵活性对于处理可变大小的数据非常有用。内存效... 2025-02-10 99 阅读 泥小猴系统教程网
未命名 深入解析Linux内核mutex数据结构 1定义互斥锁是一种用于多线程编程的机制,用于防止多条线程同时对同一公共资源进行读写操作。为了达到这个目的,互斥锁将代码划分为临界区域,这部分代码涉及对公共资源的读写操作。一个程序、进程或线程可以拥有多个临界区域... 2025-02-10 75 阅读 泥小猴系统教程网
未命名 LinuxC语言网卡操作实例 下面是对原文的重新表述,重点在于如何用c语言直接操作网络接口,例如读写ip地址和mac地址。如何使用C语言直接操作网络接口?在这篇文章中,我们将讨论如何在C语言中直接操作网络接口。这包括读取和修改IP地址、MAC... 2025-02-10 53 阅读 泥小猴系统教程网
未命名 深入解析Linux线程与信号关系 1.线程与信号的关联::线程与信号的关系遵循以下几个标准::标准1:同一线程组的线程共享信号处理函数。标准2:线程拥有独立的信号阻塞集。标准3:存在私有未决信号队列和共享未决信号队列。标准4:当... 2025-02-10 115 阅读 泥小猴系统教程网
未命名 Linux内存管理深度解析 因为物理内存是多个进程所有的,每个进程都有一个用户空间。如果采用直接映射的话,对应的物理地址是会冲突的。其用户空间的逻辑地址大小都为3G,所以存在逻辑地址相同,但是对应的物理地址不同。需要通过页表来转化,一个进程会... 2025-02-10 72 阅读 泥小猴系统教程网
未命名 Linux内核socket底层解析 本文在上文基础上进一步全面分析socket底层的相关实现。一、socket与inode:socket在Linux中对应的文件系统叫Sockfs,每创建一个socket,就在sockfs中创建了一个特殊的文件,同时... 2025-02-10 111 阅读 泥小猴系统教程网
未命名 Linux可变参数与选项全解析 一般来说,应用程序从main函数开始执行,传统的main函数定义如下:int main(int argc, char* argv[]) 登录后复制在这里:argc:表示程序的命令行参数数量,用于统... 2025-02-10 125 阅读 泥小猴系统教程网
未命名 深入解析Linux内核MMU-Gather操作 在linux内核的虚拟内存管理中,特别是在处理器架构为arm64、内核源码版本为linux-5.10.50、运行的ubuntu版本为20.04.1,并借助于代码阅读工具vim、ctags以及cscope的情况下,我们... 2025-02-10 107 阅读 泥小猴系统教程网
未命名 深入解析Linux内核内存管理 因为物理内存是多个进程所有的,每个进程都有一个用户空间。如果采用直接映射的话,对应的物理地址是会冲突的。其用户空间的逻辑地址大小都为3G,所以存在逻辑地址相同,但是对应的物理地址不同。需要通过页表来转化,一个进程会... 2025-02-10 59 阅读 泥小猴系统教程网