问题标签 [swig]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - 带有托管子类的非托管基类
是否有可能:
- (非托管)C++ 中的纯抽象类(基本上是接口)
- 已使用 <插入您选择的 .net 语言> 管理此类的实现
- 从(非托管)C++ 使用这些托管实现
使用 SWIG 或一些 C++/CLI 胶水?
c++ - 如何在 Perl 中使用指向来自 SWIG 的 char 的指针?
我使用SWIG为 C++ 程序生成 Perl 模块。我在 C++ 代码中有一个函数,它返回一个“char 指针”。现在我不知道如何在 Perl 中打印或获取返回的 char 指针。
示例 C 代码:
我想在 Perl 中调用这个函数“结果”并打印字符串。
怎么做?
问候, 阿南丹
python - 如何在 SWIG 包装器库中将 C++ 异常传播到 Python?
我正在围绕自定义 C++ 库编写一个 SWIG 包装器,该库定义了自己的 C++ 异常类型。该库的异常类型比标准异常更丰富、更具体。(例如,一个类表示解析错误并具有一组行号。)如何在保留异常类型的同时将这些异常传播回 Python?
perl - 如何使用 SWIG 从 Perl 访问 C++ 程序的列表模板?
我想从 Perl 脚本访问 C++ 程序的模板列表并使用这些值。
示例代码:
我使用了一个 swig 生成的 api 并执行了以下操作:
现在打印为:
如何使用这个从结构中获取值?
从重复的问题更新:
在我放的接口文件中
在我生成“.pm”文件之后。我检查了此列表中可用的 API。
我发现
我能够使用这些元素。但我不知道如何使用这些 API 访问列表的各个元素?还是我在接口文件中遗漏了什么?
更新:
typemap 可以在这里将列表作为数组返回吗?
swig - 如何为新语言添加绑定?
因此,您必须创建自己的内置于 .NET C# 的脚本语言。图书馆现在有什么更好的?(想想 SDL/OPENGL),使用 Swig 生成包装器还是手动生成?还有其他选择吗?
c - 使用 CMake 生成 SWIG 绑定
如何为使用 CMake 构建的 C 项目生成自动绑定?
我想自动为 Python、Java、.NET、PHP、Perl、TCL、Ruby 和 Octave 生成绑定。
c++ - 如何为指针引用定义 SWIG 类型映射?
我有一个用 C++ 编写的 Publisher 类,有以下两种方法:
此类的 Python 绑定是使用 SWIG 生成的。在我的 swig .i 文件中,我有以下内容:
这让我可以发布一个在 Python 变量中定义的字段:
但是,尝试使用 GetFieldReference 方法会导致 TypeError:
我想我需要为返回 ptrDouble 的 double*& 创建一个类型映射,但我不太确定它会是什么样子。
types - SWIG / Lua:确定成员字段数据类型
SWIG 慷慨地提供了 swig_type() 函数来获取传递的 userdata 对象的数据类型的字符串表示形式。但是,对于成员字段,SWIG 和 Lua 将它们视为简单的“数字”项,因此仅打印“数字”而不是数据类型的名称。
例如
在 C++ 中会导致:
我可以采取一些后门路线来确定成员字段的数据类型吗?我看到 get 和 set 函数在验证参数时具有正确的数字字段字符串表示形式。
感谢您的帮助!
interface-builder - 将 SWIG 与构建系统一起使用
有人有使用 SWIG(接口生成器)的经验吗?
我有一个 C 项目,我想向一堆其他语言/框架公开,比如 Python、Java、.NET、Perl、PHP、Ruby。
我想与我的构建系统(基于 CMake)集成,但任何实现这一点的方法都可以。
java - Java 和 SDL_GetKeyState()
我正在尝试将一些使用 SDL 的代码转换为 Java。我正在使用 sdljava 绑定。
sdljava 使用 SWIG 作为 C 数据类型和 Java 之间的桥梁。为了得到 的等价物SDL_GetKeyState()
,sdljava 提供了方法SWIG_SDLEvent.SDL_GetKeyState()
,它返回一个叫做 a 的东西SWIGTYPE_p_unsigned_char
。
当然,Java 没有unsigned char
类型,我不知道编译器认为这种 SWIG 类型实际上对 Java 代表了什么。在 C/C++ 中的正常使用SDL_GetKeyState()
类似于:
...其中 SDL 键状态值(如 SDLK_UP)索引到数组中。
但是,以下 Java 代码:
导致编译器错误,“表达式的类型必须是数组类型,但它解析为 SWIGTYPE_p_unsigned_char。”
我想知道的是,在调用 SWIG_SDLEvent.SDL_GetKeyState() 之后,您如何使用它返回的内容来检查各个键的状态?