System.Info" os"的可能值是什么?在Haskell中的功能?

时间:2012-02-18 13:31:59

标签: windows haskell ghc

" os"有什么可能的值?函数来自标准库中的System.Info包吗?

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

是否有更好的方法来嗅探操作系统?

1 个答案:

答案 0 :(得分:6)

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

几乎完全相同的程序被HUGS用来获取平台变量,除了头文件的命名方式不同(正如您在链接的源代码中看到的那样)。

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