简体   繁体   English

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

[英]What is the current status of GHC on 64 bit Windows?

My current understanding is 我目前的理解是

  • No 64-bit GHC, ticket #1884 没有64位GHC,门票#1884
  • The 32-bit GHC and the binaries it builds work just fine because the Windows OS loader converts OS calls and pointers to 64 bits. 32位GHC和它构建的二进制文件工作正常,因为Windows操作系统加载程序将OS调用和指针转换为64位。 The same applies to DLLs 这同样适用于DLL
  • No mixing 32 bit and 64 bit code (ie. your 32 bit Haskell DLL isn't going to be friends with the 64 bit program that wants to use it) 没有混合32位和64位代码(即你的32位Haskell DLL不会成为想要使用它的64位程序的朋友)
  • Latest discussion is a thread started on May 2011 最新讨论是20115月开始的一个主题

Is this correct? 这个对吗? Are there any pitfalls to watch out for, particularly as an FFI user? 是否有任何需要注意的缺陷,特别是作为FFI用户? For example, if I were to export some Haskell code as a 32 bit DLL to some Windows program, should I expect it to work? 例如,如果我将一些Haskell代码作为32位DLL导出到某些Windows程序,我应该期望它能够工作吗?

Edit : looks like you'd need a 64 bit DLL to go with a 64 bit process 编辑 :看起来你需要64位DLL才能使用64位进程

I don't know if anyone's actively working on a 64-bit codegen right now, but 32-bit haskell will work just fine as long as you're only talking to 32-bit FFI libraries (and/or being embedded in 32-bit host programs). 我不知道现在是否有人正在积极研究64位代码生成器,但只要你只是在谈论32位FFI库(和/或嵌入32位),32位haskell就可以正常工作位主程序)。 If you want to interact with 64-bit programs, you will need to use some form of IPC, as 32-bit and 64-bit code cannot coexist in one process. 如果要与64位程序进行交互,则需要使用某种形式的IPC,因为32位和64位代码不能在一个进程中共存。

64-bit windows is supported now. 现在支持64位窗口。 There is binary a distribution of 64-bit GHC. 存在二进制64位GHC的分布。

No 64-bit Haskell Platform yet though. 但是没有64位的Haskell平台。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM