什么最适合编写本机库并使用语言绑定在多种语言中使用它?

Ale*_*eld 1 c c++ language-binding cross-platform native-code

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

fvu*_*fvu 6

C,因为

  1. 用C++编写的程序可以使用C库,反之则相当棘手 - C++中可用但C语言中没有的任何构造都无法导出到C程序,这会使您的导出变得复杂.
  2. AC库的依赖性较小.C++库通常依赖于libstdc ++,例如在嵌入式系统上,或者更常见的是在资源不足的系统上,它并不总是可用的.


小智 5

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