我打算使用Squirrel作为我的 C++ 应用程序的脚本语言。自然地,应该有一个 API 用于与 C++ 代码交互(例如访问和修改我的 C++ 程序中的属性)。这个 API 将由一堆类、枚举和函数组成。
虽然有像 Sqrat 这样的实用程序可以将单个 C++ 函数绑定到 Squirrel VM 只需一行代码,但这仍然不能令人满意:它需要我创建两个 C++ 类及其函数才能实际完成所有接口工作,然后我必须维护所有绑定以使我的脚本中也知道这些 C++ 函数。我的目的是消除这种双重维护开销。
所以我想要的是一个工具,它可以简单地获取包含我所有 C++ 类和函数的现有头文件,并从该文件生成 API 注册调用。当我们这样做时,当然最好也为每个函数自动生成一个文档(不管它是 HTML 还是只是包含函数定义 + 注释或其他内容的 Squirrel 脚本)。
我知道有 SWIG,但它没有绑定 Squirrel,而且这并不是我想要的——毕竟,我需要创建 C++ 包装器代码,而不是 Squirrel 代码。我见过Flex,但我也不确定这是否是我正在寻找的东西。那么是否有任何工具可以满足我的需求(从 C/C++ 标头自动创建包装代码和 API 文档)?否则,我想我可能不得不编写自己的小型 C++ 解析器来解析简单的函数和类定义。