Cross-Compiling – Plattform vs. Architektur

Cross-Compiling – Plattform vs. Architektur

Könnte mir jemand die genaue Definition von Cross-Kompilierung erklären? Ich frage das, weil.

  • Wenn ein Programm für eine andere Plattform (Betriebssystem) als die Hostplattform kompiliert wird, auf der der Code kompiliert wird, wird dies oft als Cross-Kompilierung bezeichnet.

Z. B.: Kompilieren für Linux-Arm unter Windows.

  • Wenn Sie andererseits ein Programm auf einem Linux-Desktop (i386-Architektur) kompilieren, um es auf Linux Arm (ARM-Architektur) auszuführen, kann dieser Prozess als Cross-Kompilierung bezeichnet werden?

Danke schön.

Antwort1

Der Begriff Plattform umfasst alle Details zum Computer, auf dem das Programm kompiliert und/oder ausgeführt wird. Dazu gehören Dinge wie:

  • CPU: Befehlssatz (x86, x86_64, ARM), Byte-Reihenfolge (Big Endian, Littel Endian)
  • Compiler: Sprache (z. B. C90, C99, C11), Hersteller (GCC, LLVM)
  • Bibliotheken, zum Beispiel glibc und BSD libc, malloc und jemalloc
  • Betriebssystem

Wenn die Plattform, auf der das Programm kompiliert wird, eine andere ist als die, auf der es ausgeführt wird, handelt es sich um Cross-Kompilierung. In Ihrem speziellen Fall ist die CPU anders.

verwandte Informationen