交叉编译

一.什么是交叉编译?
在一个平台上生成另一个平台上的可执行代码
 
二.为什么需要?
1.有时是因为目的平台上不允许或不能够安装我们所需要的编译器,而我们又需要这个编译器的某些特征
2.有时是因为目的平台上的资源贫乏,无法运行我们所需要编译器
3.有时又是因为目的平台还没有建立,连操作系统都没有,根本谈不上运行什么编译器
 
三.有哪些例子?
常见的交叉编译例子如下:
1、在Windows PC上,利用ADS(ARM开发环境),使用armcc编译器,则可编译出针对ARM CPU的可执行代码
2、在Linux PC上,利用arm-linux-gcc编译器,可编译出针对Linux ARM平台的可执行代码。
3、在Windows PC上,利用cygwin环境,运行arm-elf-gcc编译器,可编译出针对ARM CPU的可执行代码。
以上例子通常为了解决目标机器性能比较弱(上面的第2个原因),比如ARM的存储和运算能力远比不上PC机,进行编译的速度就会很慢.
 
参考自百度百科
新战场:https://blog.csdn.net/Stephen___Qin
原文地址:https://www.cnblogs.com/Stephen-Qin/p/13080565.html