Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 8, 2008 20:37:33

ola
От:
Зарегистрирован: 2008-03-27
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Python в Си-проекте, Си-функции из интепритатора Python

Начала работать с API Python\C и поняла,что это хорошо,но громоздко.Проблема в выполнении файлов Питона из Си. уже скоро смогу цитировать на изусть документацию, а решить задачу не получается. Простые примеры не идут. Что делать? (кто-нибудь может посоветовать решение в рамках API Python\C-ведь не зря ж его Гвидо включил)



Офлайн

#2 Окт. 8, 2008 21:06:59

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Python в Си-проекте, Си-функции из интепритатора Python

Ну, я сожалею. Только вот непонятно - проблема в чём? Что конкретно “не получается”?

Офлайн

#3 Окт. 8, 2008 21:21:42

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Python в Си-проекте, Си-функции из интепритатора Python

Все те же вопросы. Хоть FAQ создавай…
Pure C API - немного муторно, зато ничего дополнительного не требуется.
C++ with boost - если самому ссылки считать лень (и не только поэтому).

P.S. Моя многолетняя практика показала, что гораздо лучше и проще наоборот - включать C/C++ в Python. При этом, если не хватает py2exe etc. - сделать свой “запускач”. Это так, к слову…



Офлайн

#4 Окт. 9, 2008 21:07:35

ola
От:
Зарегистрирован: 2008-03-27
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Python в Си-проекте, Си-функции из интепритатора Python

я вчера перед открытие темы не успела прочитать и пересмотреть все темы близкие к моей, теперь я знаю и в чем проблема(Python->Использование языка Python в С/С++, простой пример ) . :)
конкретно не работают PyRun_SimpleFile(), PyRun_File(),PyRun_AnyFile()-вообще никак, причем файл находится а при переходе к этим функциям программа слетает. Но сегодня узнала,что вообщем-то такие муки никому и не нужны, можно обойтись PyRun_SimpleString().
по ссылкам обязательно погуляю,спасибо.



Офлайн

#5 Окт. 9, 2008 22:14:13

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Python в Си-проекте, Си-функции из интепритатора Python

Проблема, думаю, в разных C runtime. Я с ней сталкивался.
Стандартный Python 2.5 для Windows, к примеру, использует Visual Studio 7.1 (2003). msvcr71.dll.
В PyRun_File передается структура FILE. Ее внутренний формат а также другие связанные внутренние структуры данных зависят от этого самого C runtime.
Если программа была скомпилирована, к примеру, на VC 8 (2005) - то будет работать все кроме перечисленных функций работы с файлами. И “подружить” различные версии нереально. Впрочем, можно пересобрать python25.dll из исходников и использовать “свою” версию.



Офлайн

#6 Окт. 11, 2008 15:19:45

ola
От:
Зарегистрирован: 2008-03-27
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Python в Си-проекте, Си-функции из интепритатора Python

Спасибо-это была имменно моя проблема!



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version