Chez Scheme 程序或库如何(从 Scheme 代码中)找出它在哪个操作系统和机器架构上运行?
问问题
163 次
1 回答
1
第 6.10 节。字节向量
(native-endianness) import (rnrs) or (rnrs bytevectors)
第 12.4 节。编译、评估和加载
(machine-type) import (chezscheme)
第 12.15 节。环境查询和设置
(scheme-version) import (chezscheme)
(scheme-version-number) import (chezscheme)
(petite?) import (chezscheme)
(threaded?) import (chezscheme)
(interactive?) import (chezscheme)
不幸(machine-type)
的是,它是 Chez 惯用的隐秘字符串(而不是像 之类的标准符号x86-64
),并且可能会因版本而异。其他程序以明显的方式工作。
我在r7rs-benchmarks 存储库中找到了这些。
解析机器类型
机器类型字符串的构造如下:
- 从一个空字符串开始。
- 对于支持线程的构建,请附加字母
t
。 - 附加机器架构。
- 附加操作系统。
当前架构和操作系统:
(define arch-pairs
'(("a6" . amd64)
("arm32" . arm32)
("i3" . i386)
("ppc32" . ppc32)))
(define os-pairs
'(("fb" . freebsd)
("le" . linux)
("nb" . netbsd)
("nt" . windows)
("ob" . openbsd)
("osx" . macos)
("qnx" . qnx)
("s2" . solaris)))
要查找所有机器类型,请查找Chez Scheme 源代码库目录中命名Mf-*
的所有 makefile 。c
于 2019-08-16T12:48:02.760 回答