目标架构三元组中“pc”的含义

Posted

技术标签:

【中文标题】目标架构三元组中“pc”的含义【英文标题】:Meaning of "pc" in target architecture triplet 【发布时间】:2015-10-24 11:36:33 【问题描述】:

我已经成功编译了目标 i686-linux-gnu 和 i686-pc-linux-gnu 的东西;他们似乎是等价的。有什么区别?

【问题讨论】:

【参考方案1】:

您可以在GNU Coding Standards 中找到一些提示,您可以在其中阅读:

configure 脚本还应该带有一个参数,该参数指定要为其构建程序的系统类型。这个论点应该看起来 像这样:

cpu-company-system

例如,基于 Athlon 的 GNU/Linux 系统可能是 'i686-pc-linux-gnu'。配置脚本需要能够解码 如何描述机器的所有可能的替代方案。因此, ‘athlon-pc-gnu/linux’ 将是一个有效的别名

此外,i686 通常指的是 32 位内核,而 x86_64 指的是 64 位内核,如您在此 SO thread 中所见。

特别有指导意义的是config.guess shell script,它向您展示了当构建类型未由选项或参数指定时考虑的所有可能性。

【讨论】:

哦,所以“linux-gnu”是三元组中的一个。谢谢!

以上是关于目标架构三元组中“pc”的含义的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 CLI 获取 AWS 目标组中已注册目标的列表

你如何基于目标三元组有条件地编译?

创建一个包含三元组的 PriorityQueue,并返回 Scala 中的最小第三个元素?

交叉编译时是不是有 gcc 选项来打印目标三元组?

课堂作业02--架构漫谈笔记

在 LLVM-C API 中确定和设置主机目标三元组和指令扩展