Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > C++ и Python


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

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

Автор: smoke_man 27.11.2009, 08:12
А до вызова PyGILState_Ensure() какие действия еще делаешь?

Автор: chaos 27.11.2009, 08:29
Mikanor, http://www.boost.org/doc/libs/1_41_0/libs/python/doc/index.html тебе в помощь. будут вопросы, спрашивай!

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

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


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

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

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

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


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

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

Автор: chaos 27.11.2009, 13:11
Mikanor, мне кажется дела у билдеровского компилятора вообще плохи судя по http://www.boost.org/development/tests/trunk/developer/summary.html

Автор: Mikanor 27.11.2009, 13:28
Ндаа мс пока ставить не готов.

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

Автор: Mikanor 28.11.2009, 18:32
Вопрос еще актуален. Борьба с бустом успехом не увенчалась.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)