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 |