Chez Scheme 中的 machine-type
魔法的缩写
在 Chez Scheme 中可以用 (machine-type)
获取当前的运行环境
比如 64 位 Linux 获取到的是 a6le, 而如果启用了线程则是 ta6le
第一次看完全是一头雾水, 这到底是什么玩意?
其实只要注意看一下 Makefile, 就能明白了
格式如下:
是否启用线程 + CPU + 操作系统
如果启用了线程就在前面加上 "t"
i3
a6
分别是 i386 和 amd64 的缩写, 其他同
le
是 Linux; nt
是 Windows; fb
是 FreeBSD; nb
是 NetBSD……
做了个表格, 可以点击标题排序
machine-type | 是否启用线程 | 架构 | 位元 | 操作系统 |
---|---|---|---|---|
a6fb | 否 | x86 | 64 | FreeBSD |
a6le | 否 | x86 | 64 | Linux |
a6ob | 否 | x86 | 64 | OpenBSD |
a6osx | 否 | x86 | 64 | Darwin |
a6nb | 否 | x86 | 64 | NetBSD |
a6nt | 否 | x86 | 64 | Windows |
a6s2 | 否 | x86 | 64 | SunOS |
arm32le | 否 | ARM | 32 | Linux |
ppc32le | 否 | PowerPC | 32 | Linux |
i3qnx | 否 | x86 | 32 | QNX |
i3fb | 否 | x86 | 32 | FreeBSD |
i3le | 否 | x86 | 32 | Linux |
i3ob | 否 | x86 | 32 | OpenBSD |
i3osx | 否 | x86 | 32 | Darwin |
i3nb | 否 | x86 | 32 | NetBSD |
i3nt | 否 | x86 | 32 | Windows |
i3s2 | 否 | x86 | 32 | SunOS |
ta6fb | 是 | x86 | 64 | FreeBSD |
ta6le | 是 | x86 | 64 | Linux |
ta6ob | 是 | x86 | 64 | OpenBSD |
ta6osx | 是 | x86 | 64 | Darwin |
ta6nb | 是 | x86 | 64 | NetBSD |
ta6nt | 是 | x86 | 64 | Windows |
ta6s2 | 是 | x86 | 64 | SunOS |
tarm32le | 是 | ARM | 32 | Linux |
tppc32le | 是 | PowerPC | 32 | Linux |
ti3qnx | 是 | x86 | 32 | QNX |
ti3fb | 是 | x86 | 32 | FreeBSD |
ti3le | 是 | x86 | 32 | Linux |
ti3ob | 是 | x86 | 32 | OpenBSD |
ti3osx | 是 | x86 | 32 | Darwin |
ti3nb | 是 | x86 | 32 | NetBSD |
ti3nt | 是 | x86 | 32 | Windows |
ti3s2 | 是 | x86 | 32 | SunOS |