8

malloc strlenのような一部のシステムライブラリは、パラメータとしてsize_tを必要とするか返します。

  • これらの機能と対話するためのLLVMIRの正しい選択は何ですか?
  • 選択はコンパイラのタスクですか?
  • LLVM IRにはsize_tタイプがありますか?
4

2 に答える 2

11

LLVM レベルでは、size_t は存在​​しません。これは、ネイティブ型に typedef された開発者の利益のための構造です。ネイティブ型は、ターゲット アーキテクチャに対して固定サイズであり、それがコンパイラが LLVM ビット コードで表現する方法です。そのため、x86 では、size_t はフロント エンドによって unsigned long と見なされる可能性があり、それが LLVM に i32 として書き込まれます (LLVM アセンブリには unsigned 型がないため)。

于 2012-05-30T22:53:04.657 に答える
-4

llvm で使用できsize_t、通常どおり使用できる有効なタイプです。

于 2012-05-30T22:37:03.907 に答える