Google内部构建了一个开源项目,该项目能让开发者为C++程序生成Python的接口包装器。这个项目叫CLIF,新的框架自动为多种语言生成C++库绑定,默认支持Python2和Python3。
CLIF包含四个组成部分,解析器、匹配器、生成器和运行时。它使用LLVM编译框架来把C++ API接口描述转化为一种语言无关内部格式。为了搜集类型信息,框架使用Clang解析必要的头文件。
除了解析和匹配类型信息,CLIF还能够使用生成器生成包装器代码,生成的包装器被用来在运行时中做类型转换。
渐渐变智能
Google之前已经释放出了一些组件,如protobuf(CLIF中内部进程间通信的工具)和CMake构建系统。未来,该框架在处理继承等关系时会变得更加智能。后续版本中有计划对不同语言的异常类型进行映射转换。
现在,你可以在Github上获取到该项目的代码。项目地址是:https://github.com/google/clif
英文原文:http://opensourceforu.com/2017/05/google-develops-framework-bring-c-closer-python/
译者:诗书塞外