images/logo.jpg

枕石的个人博客

C语言中的运算符

运算符

在C语言中运算符分为:算法运算、逻辑运算、位运算、赋值更新、内存访问。

算术运算

加减乘除

对CPU来说,加减法的运行速率比乘除要快。CPU进行运算主要依赖算术逻辑单元(ALU)浮点运算单元(FPU),ALU主要负责整数的加减乘除,而FPU主要负责浮点数的运算。乘除法有时候会转换成加减法或者移位操作。随着计算机的发展,现在已经有了“乘法器”的硬件支持。

C语言中的关键字

关键字大体上分为三大类:数据类型关键字、修饰关键字、逻辑关键字。

sizeof 关键字

sizeof(x):编译器给我们查看内存空间容量的工具,在编译时计算并确定x在内存中所占用的字节数。

C语言:函数

C语言是面向过程的编程语言,其核心概念之一就是函数。函数是组织代码的基本单位,它将一组相关的语句封装在一起,以实现特定的功能。通过函数,程序员可以提高代码的可读性、可维护性和重用性。简单来说,函数就是将重复使用的代码块进行封装,方便调用和管理。

内存管理:页表(译文)

本文译自 OSDev Wiki 上的一篇文章,原文链接为 Page Tables

页面表(或页映射层级)用于将每个虚拟页映射到对应的物理页。零个或多个虚拟页可以对应同一个物理页。页的大小取决于处理器模式(保护模式、兼容模式或长模式)、所使用的扩展(如 PAE)以及处理器所支持的虚拟地址位数(当前 AMD64 处理器最多支持 48 位虚拟地址)。

内存管理:页帧分配(Page Frame Allocation)译文

本文译自 OSDev Wiki 上的一篇文章,原文链接为 Page Frame Allocation

物理内存分配器(Physical Memory Allocators)

这些算法用于在需要时向你提供新的页帧(page frame)。该算法的调用者通常并不关心返回的是哪一帧,特别是当请求 n 个页时,也不需要返回连续的页帧(除非你要为网络包缓冲等 DMA 操作分配内存)。