某些系统库(例如 malloc strlen)需要或返回 size_t 作为参数。
- LLVM IR 中与这些函数交互的正确选择是什么?
- 选择是编译器的任务吗?
- LLVM IR 有 size_t 类型吗?
在LLVM级别,size_t不存在。它是为了开发人员的利益而构建的,被类型定义为本机类型。本机类型对于目标体系结构具有固定大小,这就是编译器在 LLVM 位代码中表示它们的方式。因此,在 x86 上,size_t 可能会被前端视为 unsigned long,然后将其作为 i32 写入 LLVM(因为 LLVM 程序集没有无符号类型)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)