Thoroughly Understanding C++ ABI
ykiko.me原文 ↗
这篇长文从调用约定、对象布局、名称修饰和二进制格式解释 C++ ABI,逐项比较 Windows x64 与 System V,以及 MSVC 与 GCC/Clang 常用的 Itanium ABI。一个具体差异是 `long` 在 Windows x64 仍为 32 位、在常见 64 位 System V 环境为 64 位;16 字节结构体的寄存器传递规则也不同。文章把“源码能编译”与“二进制能互操作”分开,尤其适合检查 FFI、动态库和跨编译器边界。
–浏览
评论 · Comments