首页 > 代码库 > 交叉编译

交叉编译

今天,Mayuyu来讲一个比较重要的概念,即交叉编译,主要分为如下几个方面来讲述。

 

Contents

 

   1. 什么是交叉编译 ?

   2. 为什么要使用交叉编译 ?

   3. 交叉编译工具链

 

 

1. 什么是交叉编译 ?

 

   所谓交叉编译,简单地来说就是在一个平台上编译生成另一个平台上的可执行代码。注意这里的平台实际上

   包含两个概念,即体系结构操作系统。同一个体系结构可以运行不同的操作系统,同时,同一个操作系统

   也可以运行于不同体系结构。比如,我们常说的x86 Linux平台实际上包含两部分,即intel x86体系结构

   和Linux for x86,是这两者的统称。

 

 

2. 为什么要使用交叉编译 ?

 

   那么,为什么要使用交叉编译呢 ? 那是因为没有办法啊,不使用不行。有时候目的平台上不能或者不允许

   安装我们所需要的编译器,而我们又需要这个编译器的某些特征。比如在ARM平台上进行嵌入式开发就是这样。

 

   可以说交叉编译这个概念的出现和嵌入式系统的广泛发展是同步的。在嵌入式目标平台上,内存和运算能力都

   是有限的,所以不得不使用交叉编译了。

 

 

3. 交叉编译工具链

 

   交叉编译工具链一般由编译器、连接器、解释器和调试器组成。就是为了编译、链接、处理和调试跨平台体系

   结构的程序代码。每次执行工具链软件时,通过带有不同的参数,可以实现编译、链接、处理或者调试等不同

   的功能。从工具链的组成上来说,它一般由多个程序构成,分别对应着各个功能。

 

  arm-linux-gcc交叉编译工具链安装

 

  

交叉编译