c++ - 什么最适合一次编写 native 库并通过语言绑定(bind)跨多种语言使用它?

标签 c++ c cross-platform native-code language-binding

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

最佳答案

C,因为

  1. 用 C++ 编写的程序可以使用 C 库,反之则更加棘手 - 任何在 C++ 中可用但在 C 中不可用的结构都不能导出到 C 程序,这有可能使导出变得复杂。
  2. C 库将具有较少的依赖性。 C++ 库通常依赖于 libstdc++,它很大,例如在嵌入式系统或更普遍的资源不足的系统上,它并不总是可用。

关于c++ - 什么最适合一次编写 native 库并通过语言绑定(bind)跨多种语言使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14663854/

相关文章:

c++ - 函数模板 c++ 的显式特化

c - 如何使用 sscanf 获取名称并按照我想要的方式打印它们

c - C语言中声明常量

c - 是否允许 srand(0) 具有与 srand(1) 相同的效果?

iphone - iPhone 的其他开发平台

c++ - 在 C++ 中制作简单的跨平台 GUI 的最佳方法是什么?

ios - 将表情符号转换为 Unicode

c++ - _wtoi 返回零 : input zero or non-numerical input?

c++ - 实现信号量时混淆核心转储

c++ - 避免在 std::map/std::unordered_map 中使用 std::string 键查找临时对象