我想创建一个带有.NET界面的Haskell应用程序。 我想使用cabal作为构建工具,以利用其包管理等功能。 我认为Haskell部分应该是调用.NET代码的可执行文件,如下所示:
所以我想问的问题是:如何强制GHC在我的Windows可执行文件中创建入口点?或者我最好使用.NET可执行文件,经过必要的步骤创建一个带有cabal的Haskell dll,并手动初始化Haskell RTC?
这样可以避免手动初始化Haskell RTC,如此描述:http://www.haskell.org/ghc/docs/7.0.3/html/users_guide/win32-dlls.html
cabal无法轻松生成Windows dll:http://www.haskell.org/haskellwiki/Cabal/Developer-FAQ#Building_DLLs__with_Cabal
dumpbin /EXPORTS
时找不到入口点。我不确定这是因为GHC只在使用-shared
开关创建dll时才创建入口点,还是因为cabal添加了一个抑制入口点创建的标志。所以我想问的问题是:如何强制GHC在我的Windows可执行文件中创建入口点?或者我最好使用.NET可执行文件,经过必要的步骤创建一个带有cabal的Haskell dll,并手动初始化Haskell RTC?