【问题标题】:Find operating system and machine type in Chez Scheme在 Chez Scheme 中查找操作系统和机器类型
【发布时间】:2019-07-22 13:53:34
【问题描述】:

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

【问题讨论】:

    标签: scheme chez-scheme


    【解决方案1】:

    来自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 中找到了这些。

    解析机器类型

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

    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。

    【讨论】:

      猜你喜欢
      • 2011-10-20
      • 2017-10-12
      • 2014-03-05
      • 2021-09-22
      • 1970-01-01
      • 2014-01-18
      • 2022-11-22
      • 1970-01-01
      • 2014-05-27
      相关资源
      最近更新 更多