swig相关内容
对于以下C++API: std::vector get_sweep_points() { return program->sweep_points; } Swig生成一个包装器,它返回一个元组(),而不是一个列表[]。为什么?如何强制Swig将列表返回到python。 推荐答案 如果您使用std_vector.i,您将获得由std_vector.i实现的
..
这是question的下一个级别。我需要将2D C字符数组强制转换为Python列表。 Python端 device_info = getInfoFromCpp() print(device_info.angles) for angle in device_info.angles: print("Angel: " + angle) 错误
..
我正在尝试使用我在Electron应用程序中编写的自定义节点包,但在初始化生成的DLL/Node包时遇到了问题。当我启动电子应用程序时,我收到以下错误: Uncaught Error: A dynamic link library (DLL) initialization routine failed. 要链接的DLL是一个用C++编写的简单库,它有一个函数,该函数接受双精度值作为输入,
..
假设我有一个要为其应用特殊类型映射的函数(因为它以字符数组的形式返回二进制数据)。 const char* returnBinaryData( int arg1, int arg2, size_t ret_length ); 因为有其他具有相同返回类型的函数是我不想触及的。 const char* getName( int arg1, int arg2 ); 是否有方法将(ou
..
我想从 java (android) 代码中调用原生 c++ 方法,并将 java 函数作为参数传递,这样我就可以将函数指针保存在 c++ 代码中,并从原生代码中激活它. 我选择使用匿名类在java中实现函数指针,并从java中调用native函数如下: 接口 FunctionPtrHelper {布尔函数(字符串参数); } NativeFunc(param1,param2,new
..
..
我需要从 Java 调用 C 函数.该函数有以下API: void convert(char* pchInput, int inputSize, int convertValue, char* pchOutput, int* outputSize); 我正在使用 swig 来制作包装器. 我读了这篇文章:ByteBuffer.allocate() 与 ByteBuffer.allocat
..
我正在为 C 库开发一些 SWIG 生成的 Java 绑定.该库包含采用 void * 类型参数的函数.在 C 端,这些通常作为指针传递给类型为 float 或 int 的数组转换为 void *.在生成的 Java 绑定中,这会导致方法采用 SWIGTYPE_p_void 类型的参数. 在 Java 绑定中构造浮点数/整数数组以便它们可以作为 SWIGTYPE_p_void 类型传递给这些
..
..
希望重返开发领域;主要是使用 Java 调用一些原生的 win32 函数(我不想在 .NET 中构建).... 谁能指出我可以使用 Java (JNI/JNA/SWIG) 从不同的运行窗口中读取标题的地方.假设您知道您尝试挂接的应用程序在内存空间的哪个位置. 解决方案 在 JNA 中: 公共接口 User32 扩展 StdCallLibrary {User32 实例 = (User
..
我正在使用 SWIG 制作 C++ 库的 Java 包装器(关于 Json(反)序列化),以便在 Android 上使用它.我在 C++ 中定义了一个抽象类,代表一个可以(反)序列化的对象: 类 IJsonSerializable {上市:虚拟无效序列化(值&root)= 0;虚空反序列化(值&root)= 0;}; 现在,我正在尝试从此类生成 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;返回缓冲区;}
..
我在 SWIG 的 Python 中使用 C++ 函数,现在遇到了一个问题.当我将 char * 从 C++ 传递给 Python 时,char * 会被 Python 截断. 例如: example.h: char * fun(){返回“abc\0de";} 现在在 Python 中,我们调用例子.fun()它只打印“ABC"代替"abc\0de"'\0' 后面的数据被 Pyth
..
我的程序出现分段错误. 事实上,我用 C++ 编写了一个库,并使用 SWIG 将其转换为 tcl. 段错误发生在这里: return Tcl_NewIntObj(static_cast(value)); 其中值=0 gdb 回溯显示: (gdb) bt#0 0x000054b6 在??()#1 SWIG_From_long(值=0)中的 0xb6650d5d,位于 mntd
..
所以,我正在尝试使用 SWIG 将 C 库 (libnfc) 移植到 Java. 我已经到了编译共享库的地步,一个基本的“nfc_version()"方法调用就可以了.但是,调用“nfc_init()"进行设置会导致 SIGSEGV 错误.直接调用nfc库就可以了. 我用来生成共享库的命令: swig -java -I../libnfc/include nfclib.igcc -c
..
我有想要通过 JNI 访问的本机函数声明并且我拥有包含所有类声明的 DLL. 我没有完整的头文件及其依赖项,但我有 DLL其中包含所有信息. 是否可以使用 SWIG 创建 JNI 接口只有 DLL 和函数声明? 另请参阅:SWIG CYGWIN DLL 链接这是一个非常相似的问题. 解决方案 你不能这样做,除非你能 从 DLL 中猜测足够的信息,以便能够重建(可能是部分的
..
我正在尝试按照本教程编译一个简单的 python/C 示例: http://www.swig.org/tutorial.html 我在 MacOS 上使用 Anaconda python. 但是,当我跑步时 gcc -c example.c example_wrap.c -I/Users/myuser/anaconda/include/ 我明白了: example_wrap
..
我正在尝试将 Python M2Crypto 包安装到 x86_64 RHEL 6.1 机器上的 virtualenv 中.此过程调用 swig,但失败并显示以下错误: $ virtualenv -q --no-site-packages venv$ pip install -E venv M2Crypto==0.20.2下载/解包 M2Crypto==0.20.2下载 M2Crypto-0.2
..
安装 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:
..
所以我快完成了.现在我有调用 python 回调函数的工作代码. 我现在唯一需要的是如何将参数传递给 python 回调函数. 我的 callback.c 是: #include typedef void (*CALLBACK)(void);回调 my_callback = 0;void set_callback(CALLBACK c);无效测试(无效);void set_callb
..