【发布时间】:2013-09-17 21:49:19
【问题描述】:
可以是在非 Windows 操作系统上使用/与 Haskell 的 FFI(外来函数接口)交互的 Windows dll 吗?例如,如果我有 OSX,我可以将 .dll 与 FFI 接口(使用 dll 函数)吗?
示例: 我有一个在 Windows 中编写和编译的 my.dll 文件。使用 Haskell 的 FFI(外部函数接口),我可以在 Haskell 中编写一个程序,该程序将加载 my.dll 并使用其中的函数。问题是:我可以在 OSX 中编写 Haskell 程序并通过 FFI 使用 my.dll,还是必须是在 Windows 中编译的 Haskell 程序(因为我想使用 my.dll)?
【问题讨论】:
-
其他操作系统将有自己的共享库的方法。它们不会被称为 .dll。类似 Linux 的操作系统将具有 .so
-
是的,但不是没有相当于 Windows 操作系统的——例如Wine 或运行 Windows 的 VM。但这个问题似乎很混乱;你能告诉我们更多关于你想要完成的事情吗?
-
已添加示例(对于一些误解,请见谅)