ola
Окт. 8, 2008 20:37:33
Начала работать с API Python\C и поняла,что это хорошо,но громоздко.Проблема в выполнении файлов Питона из Си. уже скоро смогу цитировать на изусть документацию, а решить задачу не получается. Простые примеры не идут. Что делать? (кто-нибудь может посоветовать решение в рамках API Python\C-ведь не зря ж его Гвидо включил)
Ferroman
Окт. 8, 2008 21:06:59
Ну, я сожалею. Только вот непонятно - проблема в чём? Что конкретно “не получается”?
Андрей Светлов
Окт. 8, 2008 21:21:42
Все те же вопросы. Хоть FAQ создавай…
Pure C API - немного муторно, зато ничего дополнительного не требуется.
C++ with boost - если самому ссылки считать лень (и не только поэтому).
P.S. Моя многолетняя практика показала, что гораздо лучше и проще наоборот - включать C/C++ в Python. При этом, если не хватает py2exe etc. - сделать свой “запускач”. Это так, к слову…
ola
Окт. 9, 2008 21:07:35
я вчера перед открытие темы не успела прочитать и пересмотреть все темы близкие к моей, теперь я знаю и в чем проблема(Python->Использование языка Python в С/С++, простой пример ) . :)
конкретно не работают PyRun_SimpleFile(), PyRun_File(),PyRun_AnyFile()-вообще никак, причем файл находится а при переходе к этим функциям программа слетает. Но сегодня узнала,что вообщем-то такие муки никому и не нужны, можно обойтись PyRun_SimpleString().
по ссылкам обязательно погуляю,спасибо.
Андрей Светлов
Окт. 9, 2008 22:14:13
Проблема, думаю, в разных C runtime. Я с ней сталкивался.
Стандартный Python 2.5 для Windows, к примеру, использует Visual Studio 7.1 (2003). msvcr71.dll.
В PyRun_File передается структура FILE. Ее внутренний формат а также другие связанные внутренние структуры данных зависят от этого самого C runtime.
Если программа была скомпилирована, к примеру, на VC 8 (2005) - то будет работать все кроме перечисленных функций работы с файлами. И “подружить” различные версии нереально. Впрочем, можно пересобрать python25.dll из исходников и использовать “свою” версию.
ola
Окт. 11, 2008 15:19:45
Спасибо-это была имменно моя проблема!