|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Mita Mikheev 2:5020/194.113 11 Apr 2002 01:36:16 To : Denis Smirnov Subject : чтение скриптом из COM-порта -------------------------------------------------------------------------------- Wednesday April 10 2030 23:45, you wrote to me: MM>> А через fileevent примерно так: MM>> set port [open "/dev/tty01" r+] MM>> fconfigure ... (как выше) MM>> fileevent $port readable [list to_listen $port] MM>> proc to_listen {chan} { MM>> if {[eof $chan]} { MM>> catch {close $chan} MM>> puts "Port: closed" MM>> return MM>> } MM>> set data [read $chan] MM>> set size [string length $data] MM>> puts "Got $size bytes: $data" MM>> } DS> В таком случае интересный вопрос -- а для тикля есть что-нибудь вроде DS> компилятора? Или придётся интерпретатор всё время в памяти держать? Есть. Hесколько. freewrapper, TclPro, wrap. Разной степени навороченности и возможностей. По сути предназначены для держания того же интерпретатора в памяти, за исключением стадии компиляции в байт-код. Hа самом деле их основное предназначение (как и во многих других скриптовых языках) - возможность переносить программу в виде одного файла и для скрытия кода. Сам смотри, насколько тебе интересно это. В случае с большим скриптом - компиляция в байт-код _может_ занимать критичное тебе время. Hа самом деле, сам интерпретатор tcl довольно легкий, так как тяжелые вещи как правило разложены по пакаджам и ты сам можешь выбирать, что тебе надо в данный момент. В случае с врапперами все это сидит в этом же файле. Скажем, ничего страшного от висения в памяти интерпретатора (а то и не одного) не происходит. У меня проблемы возникали только при интенсивном взаимодействии с другими системами. Hапример - от интенсивной работы с SQL, которые были потом частично решены оптимизацией кода скрипта и совсем решены апгрейдом железа на sql сервере до нормального. У меня есть опыт построения системы целиком на tcl - включая веб сервер (tclhttpd), Metakit (файловая хранилка данных похожая на dbf), пучок скриптов для администрежа по крону и несколько cgi для пользования всем этим. В целом, я остался доволен tcl и считаю его очень удобным средством для разработки. В свое время мне не очень понравился perl за его "нецензурность" - tclный код я могу прочитать, хотя бы. DS> -- DS> С уважением, Denis Mita ... 2.000.000 Lemmings can't be wrong. --- GoldED/W32 3.0.1 * Origin: Living in interesting times (2:5020/194.113) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/45473cb4ec81.html, оценка из 5, голосов 10
|