交叉编译(cross compile)的一些介绍
来源:互联网 发布:linux下jdk怎么卸载 编辑:程序博客网 时间:2024/05/21 22:44
1、交叉编译的含义
在学习嵌入式开发中,必然会遇到:交叉编译(cross compile),那么交叉编译是什么呢?即:在一种平台上进行程序的编译,而这个编译出来的程序放到另一个平台上运行。因此,编译的环境运行的环境是不一样的,交叉的,即所谓的cross。比如,我有一个ARM9的开发板,在进行开发时,需要在我的x86的PC上使用交叉编译器来编译我写好的程序代码,而编译所程序是放到ARM的CPU上运行的。
与交叉编译相对性的,叫本地编译。即:在当前的平台下编译出来的程序,放在当前平台下运行。如:x86的CPU下,编译出来的程序(或库文件),就可以直接在x86的CPU,当前的电脑上运行。
2、交叉工具链
工具(tool)的目的:是为了生成(可运行的)程序或者库文件。为了达成这个目标,在内部的执行过程和逻辑就包含了:
1.编译
编译的输入(对象)是:程序代码
编译输出(目标)是:目标文件
编译所需要的工具是:编译器
编译器,常见的编译器,即gcc
2.链接
链接的输入(对象)是:(程序运行时所依赖的,或者某个库所依赖的另外一个)库(文件)
链接的输出(目标)是:程序的可执行文件,或者是可以被别人调用的完整的库文件
链接所需要的工具是:链接器
链接器,即ld。
……
所以,将程序编译成可执行文件,要依赖到很多工具,最核心的是编译器gcc,链接器ld。
链(chain):前面所提到的工具串在一起,有逻辑的,进行有序的工作。
即:先编译,再链接,再进行后期其他处理等等。这一系列是有先后顺序的。
将两者与前面提到的“交叉”相结合,就是:交叉工具链。交叉工具链,也包含了很多对应的工具,交叉编译版本的gcc,ld。其中最主要的就是用于编译的gcc,所以常把交叉工具链简称为交叉编译器。
- 交叉编译(cross compile)的一些介绍
- 交叉编译directfb - Cross compile directfb
- gcc-cross 交叉编译
- Cross ToolsChain-交叉编译工具
- 蛋疼的cross compile
- cross compiler Toolchain(交叉编译工具链)的建立
- cross compiler Toolchain(交叉编译工具链)的建立
- Ubuntu9.04 Cross-4.3.2交叉编译工具的搭建
- cross compile
- Cross Toolchain-交叉编译工具链
- Cross Toolchain-交叉编译工具链
- Cross Toolchain-交叉编译工具链
- Cross Toolchain-交叉编译工具链
- centos 交叉编译cross-ng 问题
- 制作Mips64el的cross compile toolchain
- linux一些库文件的交叉编译
- 一些下载交叉编译环境的地址
- 一些下载交叉编译环境的地址
- kettle数据同步
- java引用数据类型-数组
- PHP7扩展开发入门
- java-数组赋值
- Leetcode 438. Find All Anagrams in a String 找变位子串 解题报告
- 交叉编译(cross compile)的一些介绍
- 【洛谷 1016】 旅行家的预算
- list.addAll()是浅拷贝,如何实现list的深拷贝
- 看不懂的python矩阵处理
- Android api level对照表
- Android ViewGroup指定子View的绘制顺序
- 第2 天
- 第七周项目3——负数把正数赶出队列
- onchange事件,在chrome浏览器4.30版本失效问题