他们如何为同一个库编写不同的语言包装器?

时间:2010-06-29 18:05:39

标签: language-agnostic

通常,库将以单一语言发布(例如C)。如果库调出来有用,那么将编写该库的许多语言包装器。 完全他们是如何做到的?

请注意这个话题。如果它太依赖于语言而选择你选择的语言并解释它。

1 个答案:

答案 0 :(得分:5)

有几种选择可以想到:

  • 将原始C库移植到您选择的语言/平台
  • 将C库编译成可以从其他组件调用的东西(如DLL)
  • 将库放在Web上,通过HTTP公开API并将其包装在客户端

如果我想用托管(.NET)层包装C库,我会将库编译成DLL,暴露我想要的API。然后,我使用P / Invoke从我的C#代码中调用这些API。