Haskell 二进制兼容性

11

假设我编写了一些Haskell代码,并在Ubuntu 64位安装中进行编译,静态链接所有的Haskell包和C库。那么结果是否与任何其他64位Linux发行版兼容?

答案是可能兼容,但不能保证。因为不同的Linux发行版可能具有不同的库或依赖关系,这可能会影响二进制文件的兼容性。

1
应该是这样的,例如请参考https://dev59.com/cmkv5IYBdhLWcg3wghIi#10549484和https://dev59.com/cG025IYBdhLWcg3whWdm#5953787。 - Cactus
哇,从 ghc -02 test.hs -optl-static -optl-pthread 得到的二进制文件大约为2.5GB(test.hs 包含 main = print "yes")。 - Nate Symer
1
实际上是2.5MB。有些人无法读取ls命令的输出,哈哈。 - Nate Symer
1个回答

1
是的,由于静态链接 - 所有内容都在二进制文件中。是的,它们可能会变得相当大,例如,yesod输出可以轻松达到70MB。但是,在其中有一个HTTP服务器。
因此,静态链接可以帮助可移植性,但在可执行文件大小方面存在缺点。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接