在64位Windows上GHC的当前状态是什么?

kow*_*wey 7 64-bit haskell

我目前的理解是

  • 没有64位GHC,门票#1884
  • 32位GHC和它构建的二进制文件工作正常,因为Windows操作系统加载程序将OS调用和指针转换为64位. 这同样适用于DLL
  • 没有混合32位和64位代码(即你的32位Haskell DLL不会成为想要使用它的64位程序的朋友)
  • 最新讨论是20115月开始的一个主题

它是否正确?是否有任何需要注意的缺陷,特别是作为FFI用户?例如,如果我将一些Haskell代码作为32位DLL导出到某些Windows程序,我应该期望它能够工作吗?

编辑:看起来你需要64位DLL才能使用64位进程

bdo*_*lan 1

我不知道现在是否有人在积极开发 64 位代码生成器,但只要您只与 32 位 FFI 库(和/或嵌入到 32 位)中交互,32 位 haskell 就可以正常工作。位主机程序)。如果您想与 64 位程序交互,则需要使用某种形式的 IPC,因为 32 位和 64 位代码不能在一个进程中共存。