VIP10
本课程属于:044-Rust系统编程工程 后端、数据与云原生工程 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录 咨询 / 购买

C语言高级进阶:结构体内存对齐与优化

📚 共计 30 章节
01
内存对齐的底层原理
CPU如何读取内存 · 为什么需要对齐 · 对齐与性能的关系
原理CPU
02
结构体对齐规则详解
默认对齐值 · 成员对齐 · 结构体整体对齐 · 填充字节
规则填充
03
pragma pack指令
#pragma pack(n) · pack(1)紧凑结构体 · push/pop栈式管理
预处理紧凑
04
位域与内存对齐
位域定义 · 内存分配 · 与对齐冲突 · 跨平台问题
位域跨平台
05
结构体优化实战
重排成员减少填充 · 联合体与对齐 · 缓存行对齐优化
优化实战
06
C11标准对齐特性
_Alignof / _Alignas · max_align_t · alignof与sizeof区别
C11标准
07
动态内存分配与对齐
malloc对齐保证 · aligned_alloc · posix_memalign · 自定义分配器
内存分配器
08
结构体嵌套与对齐
嵌套对齐规则 · 填充策略 · 复杂嵌套优化
嵌套结构体
09
数组与对齐
结构体数组对齐 · 元素对齐保证 · SIMD对齐要求
数组SIMD
10
指针与对齐
未对齐指针风险 · memcpy与对齐 · 类型双关 · 严格别名
指针安全
11
网络协议与对齐
网络包对齐 · 序列化反序列化 · __attribute__((packed))
网络协议
12
文件格式与对齐
二进制文件对齐 · ELF对齐 · 自定义格式对齐设计
文件ELF
13
嵌入式系统中的对齐
MCU对齐要求 · 位带操作 · DMA传输对齐约束
嵌入式MCU
14
操作系统中的对齐
内核结构体对齐 · slab分配器 · 页对齐与缓存行对齐
OS内核
15
编译器优化与对齐
编译器对齐优化 · -fpack-struct · -malign-xxx选项
编译器GCC
16
跨平台对齐问题
ARM vs x86 · MIPS对齐要求 · 架构差异
跨平台ARM
17
对齐与原子操作
原子操作对齐要求 · C11原子类型 · 无锁编程对齐
原子无锁
18
SIMD与对齐
SSE/AVX对齐要求 · 对齐/非对齐加载性能 · 对齐分配器
SIMD向量化
19
缓存与对齐
CPU缓存行大小 · 伪共享 · __attribute__((aligned(64)))
缓存伪共享
20
调试对齐问题
AddressSanitizer · Valgrind检测 · 静态分析工具
调试ASan
21
对齐与ABI
System V ABI · ARM AAPCS · 结构体返回值对齐
ABI调用约定
22
C++与C的对齐差异
C++11 alignas/alignof · 结构体兼容性 · extern "C"
C++兼容
23
Rust与C的对齐交互
repr(C)与对齐 · FFI对齐问题 · #[repr(align)]
RustFFI
24
对齐与序列化
Protobuf对齐 · Cap'n Proto · FlatBuffers策略
序列化Protobuf
25
数据库中的对齐
B+树节点对齐 · 缓存行对齐 · 内存数据库对齐设计
数据库B+树
26
图形学中的对齐
顶点缓冲区对齐 · uniform缓冲区 · 纹理内存对齐
图形GPU
27
高性能计算中的对齐
矩阵运算对齐 · FFT对齐 · GPU内存对齐
HPCFFT
28
对齐与安全
未对齐访问风险 · ARM UNALIGNED_TRAP · MIPS对齐异常
安全异常
29
对齐的未来趋势
CHERI架构 · 非易失性内存 · 量子计算对齐挑战
前沿CHERI
30
综合实战
设计高性能内存池 · 通用对齐分配器 · 优化真实项目结构体
实战项目