Прошу прощения, если вопрос повторяется много раз здесь, но я провел целый день, не набрав ясного ответа.Использование C++ DLL в Python
Я работаю в Visual Studio 2010, и я пытаюсь загрузить класс, определенный в DLL, в Python. Я видел, что сделать это невозможно без создания C++-оболочки (с использованием SWIG или Boost.Python). Я не программист на C++, и я не мог найти простой и понятный учебник для начала, я буду благодарен, если вы можете дать мне простой.
Кроме того, мой класс использует шаблон одноэлементный, который ограничивает его экземпляр к одному объекту, как это:
MyClass* MyClass::getInstance()
{
if(instance==NULL)
instance = new MyClass();
return instance;
}
Так что мне нужно знать, как я могу иметь дело с этим в моем сценарии Python, так что я могу создать экземпляр MyClass и доступ ко всем его методам.
Спасибо, ребята.
http://www.boost.org/doc/libs/1_42_0/libs/python/doc/tutorial/doc/html/index.html – neohope
Вы почти ничего не рассказали о своем сценарии, кроме одного комментария о синглетонах. Что именно вы боретесь с этим, еще не описано намного лучше, чем я мог в http://www.swig.org/Doc3.0/SWIGPlus.html? – Flexo
На самом деле эта часть о одиночных играх, которые я опубликовала, - это то, что мне нужно больше всего. Я не знаю, как обращаться с указателями на Python.Например, я хотел бы сделать что-то вроде: _import MyDLL_ _instance = MyDLL.getInstance() _ _instance.someMethod() _ Но я не уверен, что это будет так просто .. –