【问题标题】:What are possible values for the System.Info "os" function in Haskell?Haskell 中 System.Info "os" 函数的可能值是什么?
【发布时间】:2012-02-18 13:31:59
【问题描述】:

标准库中System.Info 包中的“os”函数的可能值是什么?

另外:这些值是否可靠,是否可以在许多编译器中移植? Windows 上的 Hugs 会返回与 Windows 上的 ghc 相同的值吗?

有没有更好的嗅探操作系统的方法?

【问题讨论】:

标签: windows haskell ghc


【解决方案1】:

GHC 的变量取自“autotools”工具套件,该工具套件可生成众所周知的“配置”脚本,这些脚本几乎总是在编译时使用 (./configure; make; make install)。 configure 使用标准的“编译器标识字符串”,如用于 C 编译器的 x86_64-unknown-linux-gnu,并额外计算一组更详细的变量来标识主机平台。这些变量在生成的 GHC 的Makefile 中使用,这个文件进一步生成了你在Info.hs 文件中看到的ghcplatform.h 文件。

HUGS 使用几乎完全相同的过程来获取平台变量,只是头文件的名称不同(您可以在链接的源代码中看到)。

由于 Windows 上的 GHC 和 HUGS98 也是使用 MinGW 和 autotools 编译的,因此该平台上的变量是一致的。

【讨论】:

  • 似乎不是答案
猜你喜欢
  • 2020-09-18
  • 1970-01-01
  • 2011-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-06
  • 2011-12-21
相关资源
最近更新 更多