我目前的理解是
- 没有64位GHC,票号1884
- 32位GHC和它构建的二进制文件工作得很好,因为Windows操作系统加载程序将操作系统调用和指针转换为64位。这同样适用于dll
- 不混合32位和64位代码(即:你的32位的Haskell DLL不会成为想要使用它的64位程序的朋友)
- 最新的讨论是在2011年5月开始的
正确吗?是否有什么陷阱需要注意,特别是作为FFI用户?例如,如果我要将一些Haskell代码作为32位DLL导出到某些Windows程序,我应该期望它工作吗?
编辑:看起来你需要一个64位的DLL去64位的进程
我不知道现在是否有人在积极地研究64位的代码根,但是只要你只与32位的FFI库交谈(和/或嵌入在32位主机程序中),32位的haskell就会工作得很好。如果您想与64位程序交互,则需要使用某种形式的IPC,因为32位和64位代码不能在一个进程中共存。
现在支持64位Windows。有64位GHC的二进制发行版。
目前还没有64位的Haskell平台。