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

cla*_*aws 6 language-agnostic

通常,库将以单一语言发布(例如C).如果库调出来有用,那么将编写该库的许多语言包装器.如何究竟他们这样做?

请有人对这个话题说不清楚.如果它太依赖于语言选择您选择的语言并解释它.

Jim*_*amb 5

有几种选择可以想到:

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

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

  • @claws:JNI是最常见的. (2认同)