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


Автор: chaos 27.2.2008, 09:10
Здравствуйте обитетели данного форума smile
в послденее время в уме "вертится" связка Python + C++ (boost::python)
очень хочется знать для чего такая связка нужна. что можно с этим делать. в чем + и -. примеры можно выдуманные и реальные smile

мне на ум только пришло: использовать связку как удобный парсер конфигурации smile)))

Код

Py_Initialize();

std::string script = "test.py";

boost::python::dict global;
boost::python::object result = boost::python::exec_file(script.c_str(), global, global);

std::cout << boost::python::extract<int>(global["number"]) << std::endl;


test.py
Код

number = 4200


smile но как-то это....сильно извращенно

Вообщем убедите меня smile))


Заранее благодарен!

Автор: setq 28.2.2008, 00:13
Привет. Я никогда не занимался встраиванием Python в C++ и при этом не обладаю "прокаченной дипломатией" чтобы подробно описать зачем это нужно. Поэтому просто 2 примера из риэл-лайф, вовсе не потому что они лучшие или что других больше нет)) Просто довелось работать с ними:

http://www.froglogic.com/pg?id=Products&category=squish&sub=overview&subsub=features
http://panda3d.org/what.php

Автор: Andity 28.2.2008, 00:37
hi2all!
Тоже давно присматриваюсь к этой связке (Python & C)
Почему именно boost библиотека? А не стандартные инклюды из дистрибутива Python'a ?

Автор: chaos 28.2.2008, 08:38
Цитата(Andity @ 27.2.2008,  21:37)
hi2all!
Тоже давно присматриваюсь к этой связке (Python & C)
Почему именно boost библиотека? А не стандартные инклюды из дистрибутива Python'a ?

ну пока только из-за ОПП

Автор: dvska 18.3.2008, 18:49
http://www.rupy.ru/static/files/07/02/12/rupyru2007-baburov-pythonc.ppt

http://www.intuit.ru/department/pl/python/13/

http://www.cetus.com.ua/research/example/pyext1.html
http://www.cetus.com.ua/research/example/pyinc1.html
http://www.cetus.com.ua/research/example/pyinc2.html

http://www.ruscript.net/scripts/36/


Автор: qpharm 21.3.2008, 14:14
Связка любого интерпретируемого языка (в частности python) с компилируемым языком (например, С++) используется для создания генератора кода на целевой компилируемый язык (С++)
Вот очень красивый пример, где связка python, C++ делает простой генератор кода (например для генерации шаблонов, препроцессирования и т.д.), что в результате дает намного более читаемый код, нежели использование того же boost

http://nedbatchelder.com/code/cog/index.html

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