swig相关内容

元组由SWIG为C++向量生成的Python包装器返回

对于以下C++API: std::vector get_sweep_points() { return program->sweep_points; } Swig生成一个包装器,它返回一个元组(),而不是一个列表[]。为什么?如何强制Swig将列表返回到python。 推荐答案 如果您使用std_vector.i,您将获得由std_vector.i实现的 ..
发布时间:2022-05-28 15:06:16 C/C++开发

在Electron中使用自定义节点包

我正在尝试使用我在Electron应用程序中编写的自定义节点包,但在初始化生成的DLL/Node包时遇到了问题。当我启动电子应用程序时,我收到以下错误: Uncaught Error: A dynamic link library (DLL) initialization routine failed. 要链接的DLL是一个用C++编写的简单库,它有一个函数,该函数接受双精度值作为输入, ..
发布时间:2022-05-28 14:34:44 C/C++开发

如何将Sigg TypeMap仅应用于特定函数?

假设我有一个要为其应用特殊类型映射的函数(因为它以字符数组的形式返回二进制数据)。 const char* returnBinaryData( int arg1, int arg2, size_t ret_length ); 因为有其他具有相同返回类型的函数是我不想触及的。 const char* getName( int arg1, int arg2 ); 是否有方法将(ou ..
发布时间:2022-05-28 14:30:21 Python

如何将java函数指针传递给c++本机代码

我想从 java (android) 代码中调用原生 c++ 方法,并将 java 函数作为参数传递,这样我就可以将函数指针保存在 c++ 代码中,并从原生代码中激活它. 我选择使用匿名类在java中实现函数指针,并从java中调用native函数如下: 接口 FunctionPtrHelper {布尔函数(字符串参数); } NativeFunc(param1,param2,new ..
发布时间:2022-01-25 21:44:46 Java开发

如何在 SWIG 生成的 Java 绑定中转换为 SWIGTYPE_p_void 类型?

我正在为 C 库开发一些 SWIG 生成的 Java 绑定.该库包含采用 void * 类型参数的函数.在 C 端,这些通常作为指针传递给类型为 float 或 int 的数组转换为 void *.在生成的 Java 绑定中,这会导致方法采用 SWIGTYPE_p_void 类型的参数. 在 Java 绑定中构造浮点数/整数数组以便它们可以作为 SWIGTYPE_p_void 类型传递给这些 ..
发布时间:2022-01-25 21:27:33 Java开发

如何使用 JNI 或 JNA 读取窗口标题?

希望重返开发领域;主要是使用 Java 调用一些原生的 win32 函数(我不想在 .NET 中构建).... 谁能指出我可以使用 Java (JNI/JNA/SWIG) 从不同的运行窗口中读取标题的地方.假设您知道您尝试挂接的应用程序在内存空间的哪个位置. 解决方案 在 JNA 中: 公共接口 User32 扩展 StdCallLibrary {User32 实例 = (User ..
发布时间:2022-01-25 21:04:27 Java开发

使用 SWIG 生成 Java 接口

我正在使用 SWIG 制作 C++ 库的 Java 包装器(关于 Json(反)序列化),以便在 Android 上使用它.我在 C++ 中定义了一个抽象类,代表一个可以(反)序列化的对象: 类 IJsonSerializable {上市:虚拟无效序列化(值&root)= 0;虚空反序列化(值&root)= 0;}; 现在,我正在尝试从此类生成 Java 接口.这是我的 SWIG 界面: % ..
发布时间:2022-01-25 20:47:13 Java开发

Swig,返回一个双精度数组

我知道,通常有很多方法可以解决某些问题.但是在这里我知道我想要哪种方式,但我无法使其与 Python 和 SWIG 一起使用...... 我有一个 C 函数,它返回一个双精度值数组: double *my(int x){双 a,b,*buf;buf = malloc (x * sizeof(double));a=3.14;b=2.7;缓冲区[0]=一个;buf[1]=b;返回缓冲区;} ..
发布时间:2022-01-19 15:13:33 Python

Python 如何通过 SWIG 从 C++ 获取二进制数据(char*)?

我在 SWIG 的 Python 中使用 C++ 函数,现在遇到了一个问题.当我将 char * 从 C++ 传递给 Python 时,char * 会被 Python 截断. 例如: example.h: char * fun(){返回“abc\0de";} 现在在 Python 中,我们调用例子.fun()它只打印“ABC"代替"abc\0de"'\0' 后面的数据被 Pyth ..
发布时间:2022-01-12 20:38:21 C/C++开发

segfault 使用 SWIG 为 tcl 转换的代码

我的程序出现分段错误. 事实上,我用 C++ 编写了一个库,并使用 SWIG 将其转换为 tcl. 段错误发生在这里: return Tcl_NewIntObj(static_cast(value)); 其中值=0 gdb 回溯显示: (gdb) bt#0 0x000054b6 在??()#1 SWIG_From_long(值=0)中的 0xb6650d5d,位于 mntd ..
发布时间:2022-01-12 16:30:48 C/C++开发

使用 SWIG 制作 Java 共享库的 SIGSEGV 错误

所以,我正在尝试使用 SWIG 将 C 库 (libnfc) 移植到 Java. 我已经到了编译共享库的地步,一个基本的“nfc_version()"方法调用就可以了.但是,调用“nfc_init()"进行设置会导致 SIGSEGV 错误.直接调用nfc库就可以了. 我用来生成共享库的命令: swig -java -I../libnfc/include nfclib.igcc -c ..
发布时间:2022-01-12 15:57:24 Java开发

仅带有 DLL 和声明的 SWIG JNI 接口

我有想要通过 JNI 访问的本机函数声明并且我拥有包含所有类声明的 DLL. 我没有完整的头文件及其依赖项,但我有 DLL其中包含所有信息. 是否可以使用 SWIG 创建 JNI 接口只有 DLL 和函数声明? 另请参阅:SWIG CYGWIN DLL 链接这是一个非常相似的问题. 解决方案 你不能这样做,除非你能 从 DLL 中猜测足够的信息,以便能够重建(可能是部分的 ..
发布时间:2022-01-11 16:39:27 其他开发

如何在 Windows 上安装 M2crypto

安装 OpenSSL 后,下载 预构建的 Swig 可执行文件,并确保 openssl 库位于默认 c:\pkg,pip install m2crypto 结果: ...C:\Program Files (x86)\gfortran\bin\gcc.exe -mno-cygwin -mdll -O -Wall -IC:\Python27\include -IC:\Python27\PC -Ic: ..
发布时间:2022-01-07 19:02:54 Python

SWIG 将参数传递给 python 回调函数

所以我快完成了.现在我有调用 python 回调函数的工作代码. 我现在唯一需要的是如何将参数传递给 python 回调函数. 我的 callback.c 是: #include typedef void (*CALLBACK)(void);回调 my_callback = 0;void set_callback(CALLBACK c);无效测试(无效);void set_callb ..
发布时间:2022-01-03 08:49:37 Python