什么是交叉编译?

2019-07-13 08:15发布

举个例子来解答。 我们的电脑PC的CPU是intel或者AMD的,这种CPU全部是x86架构的,内在指令是一样的。 而嵌入式linux的CPU一般是ARM的,这种CPU的指令架构和x86完全不同。 如果,你在电脑上写了个C语言程序,然后编译运行,但是这种程序只能在PC上,也就是intel或AMD的CPU上运行。你下载到ARM的机器上是不能运行的。 如果想要运行,就要在PC上根据ARM的指令架构来编译程序。 这种在这种架构的CPU机子上编译另外一种架构CPU的软件,就叫做“交叉”编译。交叉CROSS就是这个意思。 http://zhidao.baidu.com/link?url=LAjdlmCaFFCbPFlFWFicJ_Ui0ZaxaQpKeSmFuKzyQM7a9z_DsE7TGe-xy61KUI6UsXa8uk0Vo8I6Z5kypOEmewIDg6nFy1gy-htLuMhDbwe