适用于Windows上GHC的64位基本库的动态版本

npo*_*cop 8 windows dll 64-bit haskell

当前的二进制GHC分布(7.8.2)没有动态基础库(base正确的ghc-prim等).所以不可能使用动态链接.(当然可以生成静态链接的dll).所以旧的解决方案已经过时了.

使用7.8.x在Windows上获得64位动态链接的最简单方法是什么?

npo*_*cop 2

不幸的是,这个问题很严重,7.8 和 7.10 在 Windows 上都没有动态链接。

问题是,随着 GHC 添加更多功能,一些 GHC DLL 开始导出超过 64k 的符号。这在 Windows 上是不可能的,因为 64k 是 Windows 动态链接的固有限制。

因此 GHC 的作者应该重写它,以便它导出更少的符号。GHC bug 跟踪器中概述的解决方案很少(其中之一是将一个大 DLL 拆分为几个较小的 DLL)。但据我所知,目前没有人在研究这个问题。