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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> из Ц в Питон и обратно 
:(
    Опции темы
_ПУ
Дата 23.11.2006, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



вот такая задачка. имеется прикладушка, доступ к которой возможен посредством питоновских команд. 
есть ли у pythonwin или похожего интерпретатора возможность получать команды на C и переводить их в питонный язык? 
взаимодействие в обе стороны 

ну, попытаюсь ещё разок. 
есть приложение, с которым можно говорить на питоне (вызывать, обмениваться информацией, закрывать). назовём её П1. общаться можно из встроенного в него интерпретатора или из внешнего (например, питонвин). 
кто-то написал под это дело длл на ц, назвав её типа драйвером (Д). на самом деле, ц-функции формируют строки в питоновском синтаксе и исполняют их в свою очередь вызовом функции из стандартной(?) библиотеки питон22.либ. 
сделано это так запутанно по причине наличий подобный приложений П2, ..., ПН от других производителей, которые на самом деле делают железки, а ПО пишут для контроля за ними (поэтому так странно пишут, наверное). 
вот этот Д является прослойкой для другого приложения (ДП), которое не хочет знать ничего о железе, но хочет с ним говорить (надо только правильный Д подсунуть). 
вся эта конструкция работает, но очень нестабильно. при этом питоновские объекты пропадают, что приносит массу неприятностей и неудобств. особенно клинит при закрытии и последующем запуске П1. 
все работает замечательно, если отсечь ц-часть и говорить, например, через питонвин на чистом питоне. тогда всё мега-стабильно и мега-оптимально, т.к. питоновские объекты находятся под непосредственным контролем и их не всегда надо заново создавать. но тогда я не могу переслать данные для ДП... 
вот и подумалось мне. может, есть такой внешний интерпретатор, который я могу из ц-программы запустить (что-то в роде сервера) и разговаривать с ним на чистом ц (или слать уже готовые строки на питоне), а он будет красиво переводить в питон и выплёвывать команды, а потом возвращать добытую после коммуникации с П1 инфу? при этом я могу контролировать, запущено ли П1 и т.п. (что сейчас практически невозможно). 

вот хочу найти такой коммуникатор. 
пока лучше объяснить не получается...

заранее благодарен за помощь
PM MAIL   Вверх
albertn
Дата 23.11.2006, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(_ПУ @  23.11.2006,  16:24 Найти цитируемый пост)
есть ли у pythonwin или похожего интерпретатора возможность получать команды на C и переводить их в питонный язык? 
Вопервых не существует ни одного нормального конвертора из одного языка в другой. Во вторых С компилируемый язык, и интрерпретировать его невозможно. В третьих А не проще ли наладить интерфейс, а не залазить и ковырять что-либо в чужом модуле?

Поясни еще раз, каким образом "общаются" программы различных разработчиков
PM WWW ICQ   Вверх
_ПУ
Дата 23.11.2006, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



в этой цепи все модули для меня чужие smile
пойдём снизу вверх.
внизу железка от фирмы О.
она видна через гуи от той же фирмы О.
с гуи можно поговорить на питоне, например, из питонвина: стартануть, закрыть, спросить время, место и прочее. там же есть встроенная командная страка для питона.

теперь пусть будет пустое место.

идём теперь сверху. 
наверху система автоматизации. она говорит что, где и когда считать. ей подсовывают вот то самое гуи. гуи не слышит сишных запросов системы.
тогда между ними кладут драйвер/интерфейс/как угодно назови, который получает запрос на си от системы. переводит его в строку с синтаксисом питона. и через вызов какой-нибудь функции из питон22.длл говорит с гуи, получая иногда ответ.

вот тут происходит встреча.
так вот нет стабильности. запарка есть. стабильности нет. 
PM MAIL   Вверх
setq
Дата 24.11.2006, 13:45 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











В принципе, интерпретатор Питона можно вызвать из программы на C. В принципе, из Питона можно вызвать библиотеку, написанную на C. Обе темы освещены в стандартной документации по Питону (Extending and embedding). Я не знаю, что именно тебе нужно, но рекоммендую эту главу прочитать.
  Вверх
_ПУ
Дата 24.11.2006, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата

В принципе, интерпретатор Питона можно вызвать из программы на C. В принципе, из Питона можно вызвать библиотеку, написанную на C. Обе темы освещены в стандартной документации по Питону (Extending and embedding). Я не знаю, что именно тебе нужно, но рекоммендую эту главу прочитать. 


интерпретатор я вызываю сейчас. питон расширят нет необходимости.
а как лучше организовать сервачок, который будет стартовать и управляться из ц и говорить питоном? надеялся, что питонвин имеет какую-нибудь дырочку для ц, но... (похоже) увы...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




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


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

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