【发布时间】:2019-07-22 13:53:34
【问题描述】:
Chez Scheme 程序或库如何(从 Scheme 代码中)找出它在哪个操作系统和机器架构上运行?
【问题讨论】:
标签: scheme chez-scheme
Chez Scheme 程序或库如何(从 Scheme 代码中)找出它在哪个操作系统和机器架构上运行?
【问题讨论】:
标签: scheme chez-scheme
来自Chez Scheme Version 9 User's Guide:
(native-endianness) import (rnrs) or (rnrs bytevectors)
(machine-type) import (chezscheme)
(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 repo 中找到了这些。
机器类型字符串构造如下:
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)))
要查找所有机器类型,请在 the c directory of the Chez Scheme source repo 中查找所有名为 Mf-* 的 makefile。
【讨论】: