一些系统库如 malloc strlen 需要或返回 size_t 作为参数。
- LLVM IR 中与这些函数交互的正确选择是什么?
- 选择是编译器的任务吗?
- LLVM IR 是否有 size_t 类型?
最佳答案
在 LLVM 级别,size_t 不存在。它是为了开发人员的利益而被类型定义为 native 类型的构造。 native 类型对于目标体系结构具有固定大小,这就是编译器在 LLVM 位代码中表示它们的方式。因此在 x86 上,size_t 可能被前端视为无符号长整型,然后将其作为 i32 写入 LLVM(因为 LLVM 程序集没有无符号类型)。
关于c - 它相当于 llvm 中的 size_t,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10825186/