同样字段换个顺序,C 结构体从 24 字节缩到 16 字节
cneuralnetwork · x · 2026-10-22
作者在把玩 C 结构体时展示了一个经典但常被忽视的事实:两个含完全相同字段的结构体,仅因声明顺序不同,一个占 24 字节、另一个只占 16 字节。
原因是内存对齐:编译器会在字段之间插入 padding,使特定类型落在对齐的地址上。char→double→char 的顺序会产生 7+7 字节填充,而把两个 char 相邻放置(char→char→double)只需 6 字节尾部填充。作者算了一笔账:若有 100 万个实例,仅调整声明顺序就能省下约 8 MB 内存。
「编程与Agent」频道最新
- Beacon 开源:跨 Claude Code/Cursor 等 20+ Agent 共享自改进记忆层 — solyarisoftware · 2026-10-22
- 24 小时内 4 起 CVSS-10 漏洞,开发者做自动 SRE 工具自动修复 — viksit · 2026-10-22
- Pi v1.4.0 发布:codemode 支持图像分类并修复摘要截断 — solyarisoftware · 2026-10-22
- Claude Code 2.1.308 发布:CLI 稳定性与可靠性修复 — ClaudeCodeLog · 2026-10-22
- 156 秒 AI 音乐视频怎么保持一致?多 agent 分章并行法 — lmoroney · 2026-10-22
- 谷歌 A2A 协议加入 Linux 基金会 Agentic AI 基金会,与 MCP 并列 — Thirumalaivasan_GJ · 2026-10-22