8

一些系统库,如 malloc strlen 想要或返回 size_t 作为参数。

  • LLVM IR 中与这些函数交互的正确选择是什么?
  • 选择是编译器的任务吗?
  • LLVM IR 有 size_t 类型吗?
4

2 回答 2

11

在 LLVM 级别, size_t 不存在。它是一种为开发人员利益而设计的结构,它被定义为原生类型。本机类型对于目标体系结构具有固定大小,这就是编译器在 LLVM 位代码中表示它们的方式。因此,在 x86 上,size_t 可能被前端视为 unsigned long,然后它将其作为 i32 写入 LLVM(因为 LLVM 程序集没有无符号类型)。

于 2012-05-30T22:53:04.657 回答
-4

您可以size_t在 llvm 中使用,它是正常使用的有效类型。

于 2012-05-30T22:37:03.907 回答