交叉编译中的 build、host、target

交叉编译涉及build、host和target三个关键概念:build表示编译工具运行的平台,host是代码将要运行的平台,而target则是编译器生成代码的目标平台。在配置gcc进行交叉编译时,通过--build、--host和--target参数指定相应平台。例如,若在x86平台上构建能在arm上运行的gcc,且该gcc用于生成mips平台代码,配置应为:--build=x86 --host=arm --target=mips。

交叉编译中的 build、host、target

在交叉编译中,比较常见的一些概念就是 build、host 和 target 了:

  • build:The platform on which the compilation tools are executed
  • host: The platform on which the code will run
  • target:Only when building a compiler, this is the platform for which the compiler will generate code

以 gcc 为例子,在 gcc 中,使用:

./configure --build=编译平台 --host=运行平台 --target=目标平台 [各种编译参数]

来配置 gcc 源代码,以让其编译出我们需要的 gcc 编译器。

在这组配置参数中:

  • –build:表示目前我们正在运行的平台名称是什么,如:当前我们是在电脑上编译该系统,那么我们的 --build 就可能是 x86,如果在其他种类机器上编译就是那个机器所对应平台名称。
  • –host:表示我们把这个编译好的 gcc 在什么样的平台下运行,在交叉编译过程中这个需要我们来指定。host 也可以不指定,那么 host 将自动使用 build 来定义。
    注:–build 和 --host 不同的时候就被配置文件认定为交叉编译方式。
  • –target:该参数的目的是让配置程序知道这个软件被编译后使用来处理什么平台上的文件的。

示例:
假设在 x86 下编译一个运行于 arm 上的编译器 gcc,这个 gcc 产生 mips 平台的目标代码。那么我们的配置方式是:

–build=x86 --host=arm --target=mips

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

泠山

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值