开始使用 swig

SWIG (Simplified Wrapper 和 Interface Generator)是一种用于将 C 和 C++代码包装在各种目标语言中的工具,允许 C / C++ API 用于其他语言。

SWIG 解析头文件并以依赖于目标语言的方式生成代码。代码生成可以由 *SWIG 接口文件中*的开发人员以及命令行选项控制。

在接口文件中,开发人员告诉 SWIG 要包装的内容和方式。SWIG 有自己的预处理器系统和许多特殊指令来控制数据,类和函数如何包装在目标语言中。其中一些指令是通用的,另一些是特定于目标语言的指令。

中央如何 SWIG 功能是类型映射。类型映射是指定如何在 C 代码和目标语言之间封送类型的规则。字体映射可以全局应用于接口文件中的所有内容,也可以根据具体情况在本地应用。如有必要,也可以定制它们。

一旦 SWIG 在接口文件上运行,它就会生成一个 C 或 C++文件,它就是包装器。该文件应该与 C / C++程序或静态库进行编译和链接,包装器用于与之交互以生成共享库。该库反过来由目标语言使用。

RTFM

SWIG 已经附带了一本优秀的文档手册 ,这一点无法得到足够的重视。这一方面非常详细,涵盖了安装 ,并以代码片段的形式提供了许多具体示例,包括完整的 hello world SWIG 示例

但最重要的是,它还解释了 1.7 如何避免阅读手册

如果你讨厌阅读手册,请看一下“ 简介 ”,其中包含一些简单的例子。这些示例包含使用 SWIG 需要了解的所有内容的 95%。之后,只需使用特定于语言的章节作为参考。SWIG 发行版还附带了一个说明不同主题的大型示例目录。