我知道,对于 32 位 Intel Linuces,它返回i[3-6]86
. 对于 64 位英特尔,它说x86_64
. 但是其他的异国建筑呢?(PowerPC, Alpha, SPARC...) 某处有权威列表吗?
如果也有关于其他非 Linux Unices 的信息,则可以加分。
我知道,对于 32 位 Intel Linuces,它返回i[3-6]86
. 对于 64 位英特尔,它说x86_64
. 但是其他的异国建筑呢?(PowerPC, Alpha, SPARC...) 某处有权威列表吗?
如果也有关于其他非 Linux Unices 的信息,则可以加分。
i386 i686 x86_64 ia64 alpha amd64 arm armeb armel hppa m32r m68k mips mipsel powerpc ppc64 s390 s390x sh3 sh3eb sh4 sh4eb sparc
在这里找到,在右边。我猜这个列表并不完整,但接近 :) 谷歌搜索 linux“架构列表”有帮助!
我几乎不会将 PowerPC、Alpha 或 SPARC 称为“异国情调”。
uname 返回的值非常随意,它们形成一个开放集。您可能会找到一些可能值的列表(autoconf 项目有一个),但没有真正的列表可以列出所有内容。
也许有人知道某处的完整列表......
至于内核如何实现 uname 系统调用,为 uname 结构填充适当的信息分布在内核中的每个 arch 目录中。因此,为 x86 处理器填写处理器名称和机器类型是在 arch/x86 内核源代码树中完成的,而为 powerpc 填写该信息是在 arch/powerpc 树中的某个地方完成的。
我认为内核源代码可以回答您的问题,只是发现它可能很耗时。