什么是交叉编译

本地编译:        

        我们之前常见的软件开发,都是属于本地编译:在当前的PC下,x86的CPU下,直接编译出来可以运行的程序(或者库文件),其可以直接在当前的环境,即x86的CPU下,当前电脑中运行。此时的编译叫做本地编译,即在当前目标平台下,编译出来的程序,也只是放到当前平台下,就可以运行的。

交叉编译:

        交叉编译是一个和本地编译相对应的概念。而所谓的交叉编译,就是在一种平台上编译,编译出来的程序是放到别的平台上运行即编译的环境,和运行的环境不一样,属于交叉的。交叉编译,这个概念,主要和嵌入式开发有关。

例如在x86平台上编译,在ARM上运行。

为何要有交叉编译:

        之所以要有交叉编译,主要原因是:嵌入式系统中的资源太少。具体的解释就是:交叉编译出来的程序,所要运行的目标环境中,各种资源,都相对有限,所以很难进行直接的本地编译

        最常见的情况是:在进行嵌入式开发时,目标平台,即嵌入式开发板,比如是最大主频200MHz的ARM的CPU,加上32M的RAM,加上1G的Nand Flash等等。在如此相对比较紧张的硬件资源的前提下,在已经运行了嵌入式Linux的前提下,是没法很方便的直接在嵌入式Linux下,去本地编译,去在ARM的CPU下,编译出来,供ARM的CPU可以运行的程序的。因为编译,开发,都需要相对比较多的CPU,内存,硬盘等资源,而嵌入式开发上的那点资源,只够嵌入式(Linux)系统运行的,没太多剩余的资源,供你本地编译。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值