摸鱼精选第 10 期
1. Linux 下跨语言调用 C++实践
不同的开发语言适合不同的领域,例如 Python 适合做数据分析,C++适合做系统的底层开发,假如它们需要用到相同功能的基础组件,组件使用多种语言分别开发的话,不仅增加了开发和维护成本,而且不能确保多种语言间在处理效果上是一致的。本文以美团搜索实际场景下的案例,讲述在 Linux 系统下跨语言调用的实践,即开发一次 C++语言的组件,其他语言通过跨语言调用技术调用 C++组件。
本文提到在 Java 调用 C 库时,除了 JNI,还有 开源的 JNA 工具,这个 会比 JNI 少很多类型转换的操作,更加简便。