c - 它相当于 llvm 中的 size_t

标签 c llvm size-t

一些系统库如 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/

相关文章:

python - 关于空腹燕子的意见?

c++ - 哪个 C++ 标准头文件定义了 SIZE_MAX?

c - Bison 说开始符号不派生任何句子

c - 在32位系统(sint/uint)中的32位和64位之间进行操作

llvm - 在 LLVM IR 中调用 x86 MMX 内在函数

LLVM OpenMP 支持

c - 为什么 fgets 接受 int 而不是 size_t?

c - size_t 添加溢出

c - 在 C 中统一随机打乱 2 个数组

c - unsigned short 与 unsigned int - 有时它们的范围相同?