【发布时间】:2016-04-06 14:31:45
【问题描述】:
如果这个问题在这里重复了很多次,我很抱歉,但我花了一整天都没有找到明确的答案。
我在 Visual Studio 2010 下工作,我正在尝试将 DLL 中定义的类加载到 Python 中。我看到如果不制作 C++ 包装器(最终使用 SWIG 或 Boost.Python),就无法做到这一点。我不是 C++ 程序员,我找不到一个简单明了的教程,如果你能给我一个简单的教程,我将不胜感激。
另外,我的班级使用单例模式,将其实例化限制为一个对象,如下所示:
MyClass* MyClass::getInstance()
{
if(instance==NULL)
instance = new MyClass();
return instance;
}
所以我需要知道如何在我的 Python 脚本中处理这个问题,以便我可以创建 MyClass 的一个实例并访问它的所有方法。
谢谢大家。
【问题讨论】:
-
除了关于单例的一条评论外,您几乎没有告诉我们您的方案。你到底在为什么而苦苦挣扎,在swig.org/Doc3.0/SWIGPlus.html 中没有比我描述得更好?
-
其实我发的关于单身的那部分是我最需要的。我不知道如何在 Python 中处理指针。例如,我会这样做: import MyDLL instance = MyDLL.getInstance() instance.someMethod() 但我不是肯定会这么简单..
标签: python c++ dll swig boost-python