【问题标题】:How can I generate C wrappers over C++ API using SWIG? [duplicate]如何使用 SWIG 在 C++ API 上生成 C 包装器? [复制]
【发布时间】:2011-11-28 23:19:53
【问题描述】:

我想使用 SWIG 在一些 C++ API 上生成 C 包装器。

来自 SWIG 文档SWIG and C++

6.2 方法

为了封装 C++,SWIG 使用分层方法来生成代码。在最低级别,SWIG 生成程序 ANSI-C 样式包装器的集合。这些包装器照顾 基本类型转换、类型检查、错误处理和其他底层细节 C++ >绑定。这些包装器也足以将 C++ 绑定到任何目标语言 支持内置程序。在某种意义上,您可能会将这一层包裹视为 为 C++ 提供 C 库接口。

但是,如果不生成代码以在 Python、Ruby 等语言中使用 API,我看不到任何选项可以做到这一点。我怎样才能只获得 C 包装器?

【问题讨论】:

    标签: c++ c swig


    【解决方案1】:

    虽然 SWIG 的主分支无法为 C++ API 生成 C 包装器(问题中引用的 SWIG 文档有点误导),但在 2008 年 Google Summer of Code 期间创建了一个 SWIG 分支,可在 https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-maciekd/ 找到它确实只是。我在这里找到了答案:C++ to C Wrapper using SWIG (for FLTK)

    【讨论】:

    • 值得注意的是,正如here 所述,今年(2012 年)还有另一个 GSOC 项目。它还没有完成,但希望这次能实现。
    猜你喜欢
    • 1970-01-01
    • 2016-10-13
    • 1970-01-01
    • 2021-08-29
    • 1970-01-01
    • 1970-01-01
    • 2011-05-31
    • 2019-07-15
    • 1970-01-01
    相关资源
    最近更新 更多