کتابخانه‌ی استاندارد · کامپایلر و ابزار

سه‌گانه هدف llvm/triple

آرایش داده و ویژگی‌های هدف از روی سه‌تایی، بی نیاز به LLVM.

واردسازی ال ال وی ام.سه‌گانه هدف
در این صفحه
  1. روال‌ها

سه‌تایی هدف، مثل x86_64-unknown-linux-gnu، معماری، سازنده، سیستم‌عامل و محیط را نام می‌برد. این بسته بی پیوند با LLVM از روی آن اطلاعاتی را می‌دهد که کامپایلر پیش از تولید کد لازم دارد، مثل اندازه‌ی اشاره‌گر و آرایش داده.

روال‌ها

آرایش داده میزبان HostDatalayout

روال آرایش داده میزبان(): رشته
آرایش داده‌ی ماشین میزبان.
llvm-triple-Layout.salam
واردسازی ال ال وی ام.سه‌گانه هدف

روال ریشه:
    هر هدف در ["x86_64-unknown-linux-gnu"، "aarch64-unknown-linux-musl"، "aarch64-apple-darwin"، "x86_64-pc-windows-msvc"، "i686-w64-windows-gnu"، "wasm32-unknown-wasi"]:
        سرچاپ هدف، سه‌گانه هدف.بیت‌های اشاره‌گر(هدف)، سه‌گانه هدف.ویندوز است(هدف)، سه‌گانه هدف.گلیبسی است(هدف)
        آ := سه‌گانه هدف.آرایش داده(هدف)
        اگر آ.طول() > ۰:
            سرچاپ "  "، آ
        وگرنه:
            سرچاپ "  ناشناخته؛ LLVM خودش تعیین می‌کند"
        پایان
    پایان
    سرچاپ سه‌گانه هدف.آرایش داده میزبان().طول() > ۰
پایان
خروجیx86_64-unknown-linux-gnu 64 false true e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128 aarch64-unknown-linux-musl 64 false false e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128 aarch64-apple-darwin 64 false false e-m:o-i64:64-i128:128-n32:64-S128 x86_64-pc-windows-msvc 64 true false e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128 i686-w64-windows-gnu 32 true false ناشناخته؛ LLVM خودش تعیین می‌کند wasm32-unknown-wasi 32 false false ناشناخته؛ LLVM خودش تعیین می‌کند true

آرایش داده Datalayout

روال آرایش داده(t: رشته): رشته
رشته‌ی آرایش داده‌ی LLVM برای سه‌تایی: ترتیب بایت‌ها، اندازه‌ی اشاره‌گر و هم‌ترازی نوع‌ها؛ برای هدف ناشناخته خالی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: llvm-triple-Layout.salam

بیت‌های اشاره‌گر PointerBits

روال بیت‌های اشاره‌گر(t: رشته): صحیح
اندازه‌ی اشاره‌گر هدف بر حسب بیت: ۳۲ یا ۶۴.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: llvm-triple-Layout.salam

ویندوز است IsWindows

روال ویندوز است(t: رشته): منطقی
هدف ویندوز است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: llvm-triple-Layout.salam

گلیبسی است IsGlibc

روال گلیبسی است(t: رشته): منطقی
هدف لینوکس با glibc است، نه musl.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: llvm-triple-Layout.salam