交叉编译器

交叉编译器

交叉编译器的基本用法就是将构建环境与目标环境分开。常在下面几种情况中使用:

嵌入式电脑。这种设备的资源有限,举例来说:微波炉有一个非常小的计算机来读取其触摸板和门传感器,并向数字显示器和扬声器提供输出,以控制用于烹饪食物。这台计算机不足以运行编译器,文件系统或开发环境,因为调试和测试需要更多的嵌入式系统资源,使得在目标机上编译变得更不可能。采用交叉编译,在资源足够的机器上完成构建工作,就可以解决这个问题。

编译多个目标库。举个例子,一个公司可能希望支持不同版本或不同种类的操作系统,有了交叉编译,便可以为每个目标设置一个编译环境进行编译。如:在Windows中为底层构造完全不同的Linux编译程序;在电脑上为移动端操作系统构建程序。

在服务器上编译。类似于在多个机器进行编译,一个复杂的编译可能会涉及到许多的编译操作,可以将这些编译操作放到空闲的机器上执行,无论其底层硬件或其运行的操作系统版本如何。

引导一个新平台(Bootstrapping)。在为新平台开发软件,或者开发/使用未来平台的仿真器时,则使用交叉编译器来编译必要的工具,如操作系统和本机编译器。

程序虚拟机(比如JVM)也借鉴了当初开发交叉编译器的理念。它可以用同一份输出在多个目标系统上运行,但是编译后的代码必须运行在虚拟机上。

✧ 相关推荐 ✧

男性蛋蛋的这些事,你都知道多少?
cctv3直播365

男性蛋蛋的这些事,你都知道多少?

📅 06-28 👁️ 8424
英雄联盟S15史诗野怪多久刷新,最新史诗野怪出现时间
365bet体育足球比分

英雄联盟S15史诗野怪多久刷新,最新史诗野怪出现时间

📅 06-29 👁️ 1535
[科普中国]-镝
365完美体育app官网

[科普中国]-镝

📅 06-29 👁️ 592