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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> C++ и Python, Вызов python api из своей dll 
:(
    Опции темы
Mikanor
Дата 27.11.2009, 01:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Народ будет вопрос по кодингу(С++ и Питон). Счас пишу длл(на си) которая подгружается в приложение (питоновское)(не мое) и получает адреса функций питона из него - таким образом позволяется обработку своих скриптов в нем, но вот трабл - после вызова PyGILState_Ensure() а затем вызова int w = PyRun_SimpleString(PytBuffer) вся прога виснет нахрен. Если же не вызывать PyGILState_Ensure() - то тогда в приложении в 99% случаев будет крит.

PytBuffer - буфер содержащий питон скрипт полученный чтением его же из фаила. 

Это сообщение отредактировал(а) Mikanor - 27.11.2009, 01:04
PM MAIL   Вверх
smoke_man
Дата 27.11.2009, 08:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А до вызова PyGILState_Ensure() какие действия еще делаешь?



--------------------
0x2b|~0x2b
PM MAIL ICQ GTalk   Вверх
chaos
Дата 27.11.2009, 08:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

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



Mikanor, boost::python тебе в помощь. будут вопросы, спрашивай!
PM WWW   Вверх
Mikanor
Дата 27.11.2009, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



smoke_man, вызываю Py_Initialize() - ну а так в общем ничего. По после выполнения строки должен вызываться PyGILState_Release(PyGILState_STATE ) но до него мы даже не доходим. Если надо могу скинуть исходник функции.

chaos, спс попробуем еще это. 


АПД почитал про питон буст - не нашел там работы с потоками. Плохо искал?

Это сообщение отредактировал(а) Mikanor - 27.11.2009, 13:03
PM MAIL   Вверх
chaos
Дата 27.11.2009, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

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



Цитата(Mikanor @  27.11.2009,  09:34 Найти цитируемый пост)
попробуем еще это. 

обязательно попробуйте! ИМХО очень сильно жизнь облегчает

ЗЫ позволяет писать как расширения для питона(как раз то что делает топик-стартер) и встраивать питон в программы на С++


PM WWW   Вверх
Mikanor
Дата 27.11.2009, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



В C++ Builder 2010 продолжает сыпать ошибками.(уже поправил родную папку где почему то не весь буст, и поправил инклуды терь выдает 51 ошибку) Желание юзать либу падает в геометрии.

Пробую ставить 1_41 тк у борланда походу кривые руки.

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


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

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



Mikanor, мне кажется дела у билдеровского компилятора вообще плохи судя по тестам
PM WWW   Вверх
Mikanor
Дата 27.11.2009, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ндаа мс пока ставить не готов.

http://pastie.org/private/ksjra4envan9foziwgnl1g вот исходник (правда не мой, но на котором я базировался) однако такие вещи как IMPORT_PYTHON_FUNC мне неизвестны)

PM MAIL   Вверх
Mikanor
Дата 28.11.2009, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Вопрос еще актуален. Борьба с бустом успехом не увенчалась.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

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


 




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


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

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