Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Python и C++ 
:(
    Опции темы
harper
Дата 27.1.2007, 07:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 29.5.2006

Репутация: нет
Всего: нет



Возникла потребность написания классов для питона на C++ (если быть точным, то проблема использования C++ классов в Python). Использую Boost.Python. Python 2.5. Пробую собрать tutorial.
Код

bjam "-sTOOLS=mingw"

как и положено получаю boost_python.dll и hello.pyd, однако же
Код

>>> import hello

приводит к ненахождению функции inithello
PM MAIL   Вверх
harper
Дата 30.1.2007, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 29.5.2006

Репутация: нет
Всего: нет



Проблемы были в сборке DLL и более или менее благополучно разрешились.
Теперь такой вопрос: каким образом определить метод класса возвращающий ссылку?
PM MAIL   Вверх
harper
Дата 17.2.2007, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 29.5.2006

Репутация: нет
Всего: нет



Может быть кто-либо занимался встраиванием интерпретатора Python в C++-программу?
http://docs.python.org/ext/embedding.html
Каким образом можно выполнить скрипт и получить значение определённой переменной после его выполнения?

Это сообщение отредактировал(а) harper - 17.2.2007, 11:22
PM MAIL   Вверх
harper
Дата 17.2.2007, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 29.5.2006

Репутация: нет
Всего: нет



Что-то вроде того снимает поставленный вопрос
Код


Py_Initialize();
PyObject *pDictionary = PyDict_New();
PyDict_SetItemString( pDictionary, "__builtins__", PyEval_GetBuiltins() );

// Создание переменной result = 0;
PyDict_SetItemString( pDictionary, "result", PyInt_FromLong(0) );

// Выполнение скрипта formula
std::string formula = "a = 1\nb = 2\nresult = a + b";
PyRun_String( formula.c_str(), Py_file_input, pDictionary, pDictionary );

// Получение значения переменной result
PyObject *pResult = PyDict_GetItemString( pDictionary, "result" );
int result;
PyArg_Parse(pResult, "i", &result);

Py_DECREF( pResult );
Py_DECREF( pDictionary );
Py_Finalize();

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0565 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.