【问题标题】:How to use System.Posix.DynamicLinker on Haskell shared libraries如何在 Haskell 共享库上使用 System.Posix.DynamicLinker
【发布时间】:2011-10-20 12:17:07
【问题描述】:

假设我有一个已编译的共享 Haskell 库 (Linux)。我可以在上面使用 System.Posix.DynamicLinker(dlopen 和 dlsym)来获得实际可调用的 Haskell 函数吗?如果是这样,将什么字符串传递给 dlsym (我认为 Haskell 函数名称在某种程度上被弄乱了)以及如何将返回的 FunPtr 转换为 Haskell 函数?我认为至少 Haskell 运行时必须做类似的事情。

有人做过这样的事吗?

【问题讨论】:

  • 您需要将要调用的函数“导出”。
  • 阅读 FFI 规范,它解释了很多。

标签: haskell dynamic-linking


【解决方案1】:

【讨论】:

  • 嗯,有点。它目前无法在我的机器上编译(失败:src/System/Plugins/Load.hs:87:35: Module GHC' does not export defaultCallbacks' 而且您似乎需要目标文件、.hi 文件和包.conf。虽然这通常没问题(如果我能编译它),我也很想知道低级的东西。
猜你喜欢
  • 2012-04-08
  • 2015-09-30
  • 2012-01-14
  • 1970-01-01
  • 2014-06-20
  • 1970-01-01
  • 2019-01-21
  • 2014-03-21
  • 2010-10-16
相关资源
最近更新 更多