LINUX交叉编译工具链和GCC是什么关系啊

我知道交叉编译工具链是面向另一个平台的,可是,我不明白,这个交叉编译工具链主要包括什么啊,我们平时再LINUX下用的GCC只是一个编译工具是吧... 我知道交叉编译工具链是面向另一个平台的,可是,我不明白,这个交叉编译工具链主要包括什么啊,我们平时再LINUX下用的GCC只是一个编译工具是吧 展开
 我来答
jiangtao9999
推荐于2017-11-22 · TA获得超过1.2万个赞
知道大有可为答主
回答量:1.2万
采纳率:44%
帮助的人:8173万
展开全部
编译工具链一般最简化的为 binutils + gcc + glibc + kernel-header 组合的环境。
GCC 就是编译器,他的输出每次安装只能有针对一个架构的指令输出。如果要多个架构输出,那就要装多个 GCC ,所以编译工具链里面会有一个 GCC 。

交叉编译就是跨架构编译,编译出来的程序不能在本机执行(当然有例外情况)。所以这个时候就需要交叉编译工具链。
工具链光有 GCC 是不行的,还需要一个 binutils 的二进制连接器,以及一个最基本的目标架构的 C 库,C 库还需要一个目标架构的内核源代码才能完全工作(当然不是必须的,但编译有的时候需要)
又因为 GCC 、binutils 不能实现单软件同时多架构输出,所以需要单独另装,又加上 C 库和内核头文件需要目标架构的东西而不能用本机本地架构的数据。

所以一个交叉编译工具链就是针对目标架构准备的单独安装单独使用的 binutils + gcc + glibc + kernel-header 的集合了。

PS:这个 kernel-header 并不一定就是 Linux ,他还可以是别的系统核心开发库,比如 FreeBSD 。
stesen05
2009-11-25 · TA获得超过2311个赞
知道大有可为答主
回答量:2199
采纳率:0%
帮助的人:2162万
展开全部
工具链是一套工具,包括gcc,binutils,c库等

交叉编译工具链就是为交叉编译准备的工具链

gcc是一套编译工具集,包括交叉编译器
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
s3c44b0
2009-11-25 · TA获得超过1068个赞
知道小有建树答主
回答量:646
采纳率:100%
帮助的人:310万
展开全部
GCC是一个大的协议组,for linux的只是其中一部分,同时linux下交叉编译还有别的选择,GCC4LINUX是最常用的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
happycxz
2009-11-25 · TA获得超过3146个赞
知道大有可为答主
回答量:3121
采纳率:0%
帮助的人:1623万
展开全部
LINUX下的ARM交叉编译工具是 arm-linux-gcc 是GCC的一个版本。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式