我能说出一个程序是用哪个ghc版本构建的吗?

Fil*_*und 17 haskell ghc

我想知道是否有办法告诉哪个ghc版本是二进制文件.主要版本就够了,特别是ghc 7 vs ghc 8.

mel*_*ene 23

根据文档,您可以使用--infoRTS标志:

$ ./a.out +RTS --info
[("GHC RTS", "YES")
,("GHC version", "6.7")
,("RTS way", "rts_p")
,("Host platform", "x86_64-unknown-linux")
,("Host architecture", "x86_64")
,("Host OS", "linux")
,("Host vendor", "unknown")
,("Build platform", "x86_64-unknown-linux")
,("Build architecture", "x86_64")
,("Build OS", "linux")
,("Build vendor", "unknown")
,("Target platform", "x86_64-unknown-linux")
,("Target architecture", "x86_64")
,("Target OS", "linux")
,("Target vendor", "unknown")
,("Word size", "64")
,("Compiler unregisterised", "NO")
,("Tables next to code", "YES")
]
Run Code Online (Sandbox Code Playgroud)

除此之外,还列出了GHC版本.

  • `"GHC版","6.7"`.6.7?我已经回到十年了吗?编辑:哦,这是大约10年前制作的文档的复制粘贴,好的. (8认同)
  • @PetrPudlák使用[`System.Info.compilerName/Version`](http://hackage.haskell.org/package/base-4.10.1.0/docs/System-Info.html#v:compilerVersion) (3认同)