[Comm] Re: функция Си
Oleg N. Kayunov
=?iso-8859-1?q?okayunov_=CE=C1_mtu-net=2Eru?=
Чт Июн 26 01:14:11 MSD 2003
Прокопьев Евгений пишет:
> Ткаченко Максим пишет:
>
>> В сообщении от Понедельник 23 Июнь 2003 17:10 Ткаченко Максим
>> написал(a):
>>
>>> В сообщении от Понедельник 23 Июнь 2003 17:04 Прокопьев Евгений
>>> написал(a):
>>>
>>>> Это к С никакого отношения не имеет, это просто утилита, вызываемая из
>>>> командной строки и проделывающая все необходимые Вам манипуляции с
>>>> числами.
>>>
>>>
>>> Понял, спасибо. Буду разбираться
>>
>>
>> а можно еще вопрос, а как вызвать программу да так что бы результат
>> выполнения присволся к значению переменной?
>> насколько я понял system не позволяет этого делать - возвращает
>> только номер ошибки.... Как тогда?
>
>
> popen
>
Послушайте, мне кажется, что всё гораздо проще решаемо. Без вызовов
командной строки и прочего.
А именно: та версия Питона, что на дисках Мастера 2.2 очень даже
неплохо уживается с Мастеровским-же swig. Проверял - всё почти по книжке
Бизли, с ну о-о-очень небольшой рихтовочкой. Впрочем, можно и без
swig-а, руководствуясь тем же самым Бизли "сугубо вручную" написать
пограммку на C стыкующуюся с Питоном. Тоже - реально.
Посему -
1. - Пишется для Питона модуль снимающий данные с карточки и выдающий их в
в Питоночитаемом виде. Пишется на C , раз уж библиотека при карточке
такая. Предельно простенький и скромный (коль скоро нет желания возиться
с C). Что называется - один раз и на всю оставшуюся жизнь. Используя
swig або
без оного, чисто вручную.
2. - На Питоне пишется обработка этих самых данных. При этом
первоначально поставленную задачу (вычисление по произвольным
выражениям) можно решить просто вписывая их в прогу на Питоне (что
совсем уж просто), либо, если уж совсем заедает (непременно надо брать
выражения из отдельных файлов, скажем), используя Питоновский-же
оператор exec, execfile або eval.
3. - Enjoy!
Вот и всё. И самостоятельно парсить/flex-ить ничего не надо и
"грузить"
систему вызовами типа "sh bc" с последующей разборкой результата не
потребуется и т.д. и т.п. А коли, со временем, обнаружится узкое место
(ну интерпретирующий язык, всё-таки) типа Фурье-анализа, скажем, его
опять же можно расшить написав ещё один модуль на C и, опять же
использовав стандартные C-библиотеки (типа gsl). Впрочем, FFT - то для
Питона как раз имеется - в Numeric. Наверняка, причём, на C реализован.
Правда, у Numeric свои заморочки есть, честно говоря.
Флаг в руки!
ЗЫ А этакую АЦП-платку можно где-нибудь приобресть? И какие у них ТТД?
--
== В действительности все обстоит совершенно иначе чем на самом деле. ==
BR, Oleg N. Kayunov.
Подробная информация о списке рассылки community