【问题标题】:Can I tell which ghc version a program was built with?我可以知道一个程序是用哪个 ghc 版本构建的吗?
【发布时间】:2018-01-13 23:50:21
【问题描述】:

我想知道是否有办法判断二进制文件是用哪个 ghc 版本构建的。主要版本就足够了,特别是 ghc 7 vs ghc 8。

【问题讨论】:

    标签: haskell ghc


    【解决方案1】:

    根据the documentation,可以使用--info RTS 标志:

    $ ./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")
    ]
    

    其中列出了 GHC 版本。

    【讨论】:

    • "GHC version", "6.7"。 6.7?我回到过去十年了吗?编辑:哦,这是大约 10 年前制作的文档的复制粘贴,好吧。
    • 是否可以从程序内部获取这些信息(无需检查它自己的二进制文件)?
    猜你喜欢
    • 1970-01-01
    • 2020-04-14
    • 1970-01-01
    • 2011-05-15
    • 1970-01-01
    • 2017-10-09
    • 2012-08-23
    • 1970-01-01
    • 2020-07-26
    相关资源
    最近更新 更多