Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Tri časti sú:
* architektúra (alebo cieľ): Toto špecifikuje architektúru procesorov (napr. X86_64, ARMV7, AARCH64, RISCV64). Diktuje inštrukciu Nastaviť kompilovaný kód, ktorý sa použije.
* operačný systém (alebo dodávateľ): Toto identifikuje operačný systém (napr. Linux, Windows, MacOS, FreeBSD). To ovplyvňuje spôsob, akým program interaguje so zdrojmi systému (súbory, pamäť atď.).
* C ++ Štandardná knižnica (alebo ABI): Toto špecifikuje implementáciu štandardnej knižnice C ++ (napr. Libstdc ++ pre GCC, libc ++ pre Clang). Určuje ABI (binárne rozhranie aplikácie), ktoré riadi, ako kompilovaný kód interaguje so štandardnou knižnicou. Rôzne implementácie môžu mať nekompatibilné ABI, dokonca aj na rovnakej architektúre a OS.
Príklad:
`x86_64-linux-gnu`
* x86_64: 64-bitová architektúra X86.
* Linux: Operačný systém Linux.
* gnu: GNU C ++ Standard Library (libstdc ++)
Ďalší príklad:
`Aarch64-Apple-Darwin`
* aarch64: 64-bitová architektúra ARM.
* Apple: Operačný systém spoločnosti Apple.
* Darwin: Jadro operačných systémov spoločnosti Apple (MacOS, iOS atď.). To často naznačuje špecifickú implementáciu štandardnej knižnice C ++, ktorú používa kompilátor spoločnosti Apple.
Triple umožňuje systémom zostavenia generovať správne príkazy kompilátora a linker pre zadané cieľové prostredie. Ak zostavujete kód bez zváženia trojitého, výsledný spustiteľník nemusí bežať v zamýšľanom systéme. Krížová kompilácia sa vo veľkej miere spolieha na správnu trojitú špecifikáciu na zostavenie kódu pre iný cieľ ako stroj na zostavenie.