交叉编译 - 平台与架构

交叉编译 - 平台与架构

有人可以解释一下,交叉编译的准确定义是什么。我问这个是因为。

  • 当程序被编译到编译代码的主机平台之外的不同平台(操作系统)时,许多人将其称为交叉编译。

例如:在 Windows 上编译 Linux arm。

  • 另一方面,如果你在Linux桌面(i386架构)上编译一个程序,可以在Linux arm(ARM架构)上运行。这个过程可以称为交叉编译吗?

谢谢。

答案1

术语平台包括有关编译或/和运行程序的计算机的所有细节。这意味着:

  • CPU:指令集(x86、x86_64、ARM)、字节序(大字节序、小字节序)
  • 编译器:语言(例如 C90、C99、C11)、供应商(GCC、LLVM)
  • 库,例如 glibc 和 BSD libc、malloc 和 jemalloc
  • 操作系统

当编译程序的平台与运行程序的平台不同时,您就需要处理交叉编译。根据您的具体情况,CPU 有所不同。

相关内容