1

哪种语言(C 或 C++)最适合编写一次本机库并在具有语言绑定的不同语言中使用它(例如,使用 JNI 或 Ruby 的 C 扩展),为什么?

4

2 回答 2

6

C、因为

  1. 用 C++ 编写的程序可以使用 C 库,反之则要复杂得多——C++ 中可用但 C 中不可用的任何构造都不能导出到 C 程序,这可能会使导出变得复杂。
  2. AC 库将具有较少的依赖关系。C++ 库通常会依赖于 libstdc++,它很大,例如在嵌入式系统上或更一般地在资源不足的系统上,它并不总是可用。
于 2013-02-02T16:25:12.737 回答
5

如果您愿意,您可以用 C++ 编写您的库,只要您为其提供 extern "C" 绑定/导出,以便其他运行时可以使用它。

于 2013-02-02T16:24:10.353 回答