首页 > 其他分享 >交叉编译器的命名规则是什么?

交叉编译器的命名规则是什么?

时间:2024-10-14 20:44:48浏览次数:8  
标签:gcc 架构 GNU 交叉 目标 编译器 linux 命名

交叉编译器(cross-compiler)是用来编译可在与编译器运行环境不同的架构或操作系统上运行的代码的工具。交叉编译器的命名通常遵循一个约定,以便能够描述编译器的目标平台。这个命名规则主要包含以下几个组成部分,通常顺序为:

  1. 目标架构(Target Architecture):
    表示编译器生成代码的目标处理器架构。例如armx86_64i686mips等。

  2. 目标供应商(Target Vendor):
    有时会指定为目标系统的制造商或供应商名称,但很多时候这部分可能会被省略。

  3. 目标系统(Target System):
    包含目标操作系统信息,例如linuxnone (对于裸机或无操作系统的编程),eabi (嵌入式应用二进制接口)。

  4. 编译器版本或编译器名称:
    指示编译器类型,如gcc (GNU Compiler Collection)。

交叉编译器的名称通常会用连接符-来连接这些部分,例如:

  • arm-none-linux-gnueabihf-gcc:

    • arm: 目标架构是ARM。
    • none: 不指定供应商。
    • linux-gnueabihf: 目标系统是使用GNU C库的Linux,eabihf是指"embedded-application binary interface hard float",表示使用硬件浮点。
    • gcc: 编译器为GNU编译器集合。
  • i686-pc-linux-gnu-gcc:

    • i686: 目标架构是Intel 686。
    • pc: 目标供应商是个人电脑(PC)。
    • linux-gnu: 目标系统是GNU/Linux。
    • gcc: 编译器为GNU编译器集合。
  • aarch64-linux-android-gcc:

    • aarch64: 目标架构是64位ARM架构。
    • linux: 目标系统是Linux。
    • android: 这里指定了额外的操作系统信息,即目标平台是Android。
    • gcc: 编译器为GNU编译器集合。

命名规则可以根据具体的编译器和它所支持的目标平台有所变化。一些工具链可能将某些部分省略或者按不同的约定命名。重要的是理解这个命名规则中的每一部分都是为了描述交叉编译器的构建环境和目标环境。

 

 

 

 

 

 

 

 

交叉编译器的命名规则通常涉及源平台和目标平台的信息。一个交叉编译器允许你在一个平台(称为主机)上编译代码,生成能运行在不同平台(称为目标)上的程序。交叉编译器的命名一般遵循以下格式:

[arch]-[vendor]-[sys]-[abi]

  • arch: 表示目标硬件架构,比如armx86_64mips等。
  • vendor: 指硬件供应商,有时候可能会省略。它可以是诸如applepc等。
  • sys: 描述目标系统类型,比如linuxdarwin(macOS)、win32等。
  • abi: 表示目标的应用二进制接口(Application Binary Interface),比如gnueabignueabihf等。

交叉编译器通常以其目标系统名称结尾,例如:

  • arm-linux-gnueabihf-g++:

    • arm: 目标是ARM架构。
    • linux: 目标系统是Linux。
    • gnueabihf: 使用GNU C库、EABI硬浮点调用标准。
    • g++: 这是GNU C++编译器。
  • x86_64-w64-mingw32-gcc:

    • x86_64: 目标是64位x86架构。
    • w64: 是Windows 64位的缩写。
    • mingw32: 表示这是MinGW-w64工具链(Windows的一个最小系统环境)的32位版本。
    • gcc: 这是GNU C编译器。
  • i686-pc-linux-gnu-gcc:

    • i686: 目标是Intel的第六代及以上的32位处理器(Pentium Pro及其后续版本)。
    • pc: 个人电脑。
    • linux-gnu: 目标系统是基于GNU的Linux。
    • gcc: GNU C编译器。
  • aarch64-linux-android-clang:

    • aarch64: 目标是64位ARM架构。
    • linux: 目标系统内核是Linux。
    • android: 运行系统是安卓。
    • clang: 这是Clang编译器,它是LLVM项目的一部分。

请注意,具体命名规则可能因具体工具链和它们的版本而异。个别工具链可能会有额外的后缀或前缀来指示特定的版本信息或构建选项。

标签:gcc,架构,GNU,交叉,目标,编译器,linux,命名
From: https://www.cnblogs.com/peifx/p/18466057

相关文章

  • aardio入门到精通04-标识符及命名规则、局部变量、成员变量、常量
    标识符、局部变量、名字空间、成员变量、importconsole;//一、标识符/*1)标识符是指编程语言中由起标识作用的英文字母、数字或中文字符、以及下划线组成的命名符号一般用来标识用户或系统定义的数据或方法,例如常量名、变量名、函数名等。2)标识符基本规则: -标识符......
  • vue2进阶篇:vue-router之命名路由
    @目录10.6命名路由案例:将案例改为“命名路由”完整代码本人其他相关文章链接10.6命名路由注意点1:命名路由请使用name属性,替换掉path属性的作用,且name直接指定名称即可,而path必须指定3级目录(path=’/demo/test/welcome’)才行。注意点2:name属性必须包裹在<router-link>标签......
  • NER-命名实体识别 入门解读
    NER在NLP领域算一个非常基础的问题,可以广泛应用于信息抽取、搜索引擎优化、情感分析、问答系统、推荐系统、市场营销等领域。主要方法有sequencelabeling(序列标注)、intervalprediction(区间预测)和questionanswering(问答)三种方法。写在前面:刚入门NER时,读一些顶会的最新文章......
  • react事件命名
    exportdefaultfunctionButton(){functionhandleClick(){alert('你点击了我!');}return(<buttononClick={handleClick}>点我</button>);}按照惯例,通常将事件处理程序命名为handle,后接事件名。你会经常看到onClick={handleClick},on......
  • Bi-LSTM-CRF实现中文命名实体识别工具(TensorFlow)
    关于深度实战社区我们是一个深度学习领域的独立工作室。团队成员有:中科大硕士、纽约大学硕士、浙江大学硕士、华东理工博士等,曾在腾讯、百度、德勤等担任算法工程师/产品经理。全网20多万+粉丝,拥有2篇国家级人工智能发明专利。社区特色:深度实战算法创新获取全部完整项目......
  • 交叉编译c++给android调用
    NDK及其作用NDK(NativeDevelopmentKit)是一个由Google提供的工具集,用于在Android平台上开发C++或其他本机代码。NDK的主要作用是允许开发人员使用C、C++和其他本机语言编写代码,并将其编译为能够在Android设备上运行的本机代码(通常是共享库.so文件)。NDK的主要作用:......
  • OncePower批量重命名绿色版
    OncePower是一款专为Windows平台设计的文件和文件夹批量重命名工具。它不仅支持基本的批量重命名功能,还提供了一些额外的实用功能,如批量删除空文件夹和批量移动文件。使用OncePower,无需学习复杂的正则表达式即可进行高级匹配和重命名操作。软件功能github.com/ilgnef......
  • OncePower批量重命名绿色版
    OncePower是一款专为Windows平台设计的文件和文件夹批量重命名工具。它不仅支持基本的批量重命名功能,还提供了一些额外的实用功能,如批量删除空文件夹和批量移动文件。使用OncePower,无需学习复杂的正则表达式即可进行高级匹配和重命名操作。软件功能github.com/ilgnef......
  • OncePower批量重命名绿色版
    OncePower是一款专为Windows平台设计的文件和文件夹批量重命名工具。它不仅支持基本的批量重命名功能,还提供了一些额外的实用功能,如批量删除空文件夹和批量移动文件。使用OncePower,无需学习复杂的正则表达式即可进行高级匹配和重命名操作。软件功能github.com/ilgnef......
  • 使用DeepKE训练命名实体识别模型DEMO(官方DEMO)
    使用DeepKE训练命名实体识别模型DEMO(官方DEMO)说明:首次发表日期:2024-10-10DeepKE资源:文档:https://www.zjukg.org/DeepKE/网站:http://deepke.zjukg.cn/cnschema:http://cnschema.openkg.cn/如果需要,设置Github镜像gitconfig--systemurl."https://githubfast.com/"......