scheme - 在 Chez Scheme 中查找操作系统和机器类型

标签 scheme chez-scheme

ChezScheme 程序或库如何找出它正在运行的操作系统和机器架构(从Scheme代码中)?

最佳答案

来自Chez Scheme Version 9 User's Guide :

第 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 中找到了这些 repo 协议(protocol)。

解析机器类型

机器类型字符串的构造如下:

  1. 以空字符串开头。
  2. 对于支持线程的构建,请附加字母 t
  3. 附加机器架构。
  4. 附加操作系统。

当前架构和操作系统:

(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。 .

关于scheme - 在 Chez Scheme 中查找操作系统和机器类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57147564/

相关文章:

scheme - 哪种方案实现最容易嵌入到 C/C++ 程序中?

scheme - 这是延续传递风格吗?

emacs - 将 chezschme 设置为 geiser-default-implementation 运行

algorithm - 求解 RR' - NN' = 1 的欧几里得算法。使用蒙哥马利算法进行模幂运算以在 python 或 Petite Chez 方案中实现费马测试

linux - 在 64 位 Arm 上编译并安装 Chez Scheme?

compiler-construction - 是什么让基于堆的 Scheme 比基于堆栈的 Scheme 慢?

stream - 没有元素的无限流

scheme - 什么是矢量 map ?

scheme - 清除小厨房方案上的屏幕

syntax - 制作 "derived"标识符的最简洁方法?