77得票1回答
有没有办法在SWIG的新内置功能中使用pythonappend?

我有一个使用SWIG非常成功的小项目。特别是,我的一些函数返回std::vector,在Python中会被转换成元组(tuples)。由于我的项目需要进行很多数值计算,所以在从C++代码返回数据后,我直接让SWIG将其转换成numpy数组。为了做到这一点,在SWIG中我使用类似以下的东西。%f...

75得票21回答
Java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader 翻译为:Java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader。

有没有人遇到过这个错误并且能提供经验? java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/org.swig.simple-2/base.apk"],na...

70得票10回答
扩展Python - 用SWIG,不用SWIG或Cython

我在我的Python代码中找到了瓶颈,尝试使用Psycho等工具来解决。然后决定编写一个C/C++扩展来提高性能。 借助SWIG的帮助,您几乎不需要关心参数等细节。一切都很好。 现在我的问题是:SWIG创建了一个相当大的py文件,在调用实际的.pyd或.so代码之前执行许多“检查”和“Py...

63得票10回答
Python:SWIG vs ctypes

在Python中,什么情况下SWIG比ctypes更适合调用共享库中的入口点?假设您没有SWIG接口文件。 这两者的性能指标是什么?

44得票7回答
cc1plus: 警告:命令行选项“-Wstrict-prototypes”适用于Ada/C/ObjC,但不适用于C++。

我正在为Python构建一个C++扩展程序。在编译过程中,当一个类型:python setup.py build_ext -i 是什么原因导致了这个问题,我该如何解决? 顺便提一下,以下是我的设置文件的副本:#!/usr/bin/env python """ setup.p...

42得票5回答
将C++ API暴露给Python

我目前正在从事一个项目,需要使用Python封装C++类以便运行程序。我的特定经验还涉及在我们的程序中嵌入Python解释器。 我尝试过的替代方案是: Boost.Python 我喜欢使用Boost.Python产生的更清晰的API,但它需要用户安装额外的依赖库,这促使我们转向SWIG...

38得票6回答
如何在Python中实现一个C++类,以便被C++调用?

我有一个用C++编写的类接口。 我有一些实现此接口的类也是用C++编写的。 这些在较大的C++程序的上下文中调用,该程序基本上实现了“main”。 我想能够在Python中编写此接口的实现,并允许它们在较大的C++程序的上下文中使用,就像它们只是用C++编写的一样。 有很多关于Python和...

36得票6回答
如何在SWIG包装库中将C++异常传播到Python?

我正在编写一个SWIG包装器,用于封装一个自定义的C++库,该库定义了自己的C++异常类型。该库的异常类型比标准异常更丰富和具体化。(例如,其中一个类表示解析错误,并具有一系列行号。) 我如何保留异常类型将这些异常传递回Python?

32得票1回答
使用SWIG在Perl中实现STL map

这是我在SWIG邮件列表中的重复问题。 我试图在我的SWIG绑定中使用STL容器。除了Perl中的STL映射处理外,一切都运行完美。在C++方面,我有:std::map<std::string, std::string> TryMap(const std::map<std:...

31得票9回答
寻找一种方便的方式来从C++中调用Java

似乎大部分与JNI(Java Native Interface)相关的文档或帮助库都涉及从Java调用本地代码。即使它有更多的功能,这似乎是其主要用途。 我想主要在相反的方向上工作:通过添加一些Java库来修改现有(相当大的)可移植C++程序。例如,我想通过JDBC调用数据库,通过JMS调用...