目前64位Windows系统上GHC的状态如何?

7

我目前的理解是:

  • 没有64位的GHC,票据#1884
  • 32位的GHC和它构建的二进制文件都可以正常工作,因为Windows操作系统加载器会将OS调用和指针转换为64位。 同样适用于DLLs
  • 不能混合32位和64位代码(即你的32位Haskell DLL不会与想要使用它的64位程序相容)
  • 最新的讨论在2011年5月的一篇帖子中开始

这些是否正确?有没有需要特别注意的陷阱,尤其对于FFI用户来说?例如,如果我将一些Haskell代码导出为32位DLL到某个Windows程序,我应该期望它可以工作吗?

编辑:看起来你需要一个64位的DLL来配合64位进程。


1
这可能是一种情况,直接在邮件列表上询问很可能更快... - bdonlan
谢谢!我有点希望这会成为一个更像维基百科的资源,可以随着时间的推移不断发展,其中当前版本==20xx。这是我的第一个SO问题 :-) - kowey
很不幸,SO的问题在得到回答后往往会变得安静 :) - bdonlan
2个回答

1

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


0

现在支持64位Windows。有64位GHC的二进制分发。

但是还没有64位Haskell平台。


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