Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza del computer >> software >> Altro Software per computer >> .

Cos'è il triplo nel software di sistema?

Nel contesto del software di sistema, "Triple" si riferisce in genere a un identificatore in tre parti che specifica l'architettura del sistema di destinazione, il sistema operativo e l'implementazione della libreria standard C ++ . È usato principalmente nei sistemi di costruzione (come Cmake, Meson e altri) e i compilatori per identificare in modo univoco l'ambiente per il quale dovrebbe essere compilato il software.

Le tre parti sono:

* Architettura (o target): Ciò specifica l'architettura del processore (ad es. X86_64, ARMV7, Aarch64, RISCV64). Dice che l'istruzione imposta il codice compilato utilizzerà.

* Sistema operativo (o fornitore): Questo identifica il sistema operativo (ad es. Linux, Windows, MacOS, FreeBSD). Ciò influenza il modo in cui il programma interagisce con le risorse del sistema (file, memoria, ecc.).

* Biblioteca standard C ++ (o ABI): Ciò specifica l'implementazione della libreria standard C ++ (ad esempio, libstdc ++ per GCC, libc ++ per clang). Determina l'ABI (applicazione binaria interfaccia), che regola il modo in cui il codice compilato interagisce con la libreria standard. Diverse implementazioni possono avere ABI incompatibile, anche sulla stessa architettura e sistema operativo.

Esempio:

`x86_64-Linux-Gnu`

* x86_64: Architettura X86 a 64 bit.

* Linux: Sistema operativo Linux.

* gnu: GNU C ++ Libreria standard (libstdc ++)

Un altro esempio:

`aarch64-apple-darwin`

* Aarch64: Architettura a 64 bit ARM.

* Apple: Il sistema operativo di Apple.

* Darwin: Il nucleo dei sistemi operativi di Apple (macOS, iOS, ecc.). Ciò implica spesso una specifica implementazione della libreria standard C ++ utilizzata dal compilatore di Apple.

La tripla consente ai sistemi di build di generare comandi di compilatore e linker corretti per l'ambiente target specificato. Se si compila il codice senza considerare la tripla, l'eseguibile risultante potrebbe non essere eseguito sul sistema previsto. La compilazione incrociata si basa pesantemente sulla tripla specifica corretta per costruire il codice per un target diverso rispetto alla macchina Build.

 

software © www.354353.com