LINUX.ORG.RU

[чайник] Программа на С, интерфейс на Tcl/Tk


0

0

Не бейте сильно, гугль не отвечает.

Как правильно реализовать сабж? Суть такова: нужно написать утилиту для настройки некоей железяки. Утилита периодически (порядка 10 раз в секунду) железяку опрашивает, результат опроса показывает оператору. Кроме того, оператор может изменять некоторые параметры этой железяки. Саму утилиту думаю писать на С, а вот как к ней прикрутить интерфейс? Хочу использовать Tcl/Tk, но нигде не могу найти, как их между собой подружить.

А чем не устраивают C либы для интерфейса? Gtk, Motif, например

Gvidon ★★★★ ()
Ответ на: комментарий от Gvidon

> А чем не устраивают C либы для интерфейса? Gtk, Motif, например

Утилита планируетя кроссплатформенной. Тащить в винду GTK — это сколько мегабайт дополнительно?

decadent ()
Ответ на: комментарий от decadent

A Tcl/Tk тащить сильно проще? Лично моя имха, что в твоём случае проще всего заюзать гтк

Gvidon ★★★★ ()
Ответ на: комментарий от decadent

> Утилита планируетя кроссплатформенной

Qt, wxWidgets

Тащить в винду GTK — это сколько мегабайт дополнительно?


около 20, наверное

lester ★★★★ ()

пишите все на tcl\tk, зачем Це тянуть

hizel ★★★★★ ()
Ответ на: комментарий от lester

>> Тащить в винду GTK — это сколько мегабайт дополнительно?

около 20, наверное

А Tcl/Tk — не более 3. Кроме того, я его уже немного знаю — а в GTK, Qt, FLTK еще нужно разбираться.

decadent ()
Ответ на: комментарий от decadent

> А Tcl/Tk — не более 3

FLTK в статичной ликовке около 100Кб

FLTK еще нужно разбираться.


он прост как пробка

lester ★★★★ ()
Ответ на: комментарий от lester

>> зачем Це тянуть

куда тянуть?


в свою программу и уж точно будет кросплатформенее

hizel ★★★★★ ()
Ответ на: комментарий от hizel

> в свою программу

угу - работу с железом на С писать это очень плохо

и уж точно будет кросплатформенее


смешно

lester ★★★★ ()
Ответ на: комментарий от lester

> FLTK в статичной ликовке около 100Кб

Хм, а это интересно. Посмотрю на него поближе.

decadent ()
Ответ на: комментарий от placement_new

> Можно в качестве примера посмотреть как сделанно тут

Спасибо. Но хотелось бы pure C, без плюсов.

decadent ()
Ответ на: комментарий от lester

> угу - работу с железом на С писать это очень плохо

А на чем хорошо? Или это сахарок для троллей? :-)

decadent ()
Ответ на: комментарий от decadent

> А на чем хорошо? Или это сахарок для троллей? :-)

это была ирония :)

lester ★★★★ ()
Ответ на: комментарий от placement_new

> Я ж говорю, как пример. Там все равно используется Tcl C Api.

Посмотрел по-диагонали, как-то сложно это у них сделано. Почему-то мне кажется, что должно быть проще.

decadent ()

Саму утилиту думаю писать на С

для этой утилиты достаточно чистого Tcl, регулярно пишу подобное по работе

как к ней прикрутить интерфейс?

во-первых, можно написать утилиту на C с интерфейсом Tcl-расширения; во-вторых, можно воспользоваться Tcl C API, и использовать Tk в качестве сишной GUI-библиотеки; в третьих, можно организовать клиент-серверную систему с передачей данных между утилитой и GUI, например, по TCP. при известном желании можно придумать ещё два-три варианта

но повторюсь - для твоей задачи с головой хватит средств чистого Tcl

jtootf ★★★★★ ()

1 программка на С с интерфейсом командной строки пусть ХОРОШО умеет общаться с железкой (опрашивать состояние и записывать его в файл, задавать параметры etc)

2 программа пофик-на-чём реализует GUI, то есть читает состояние из файла, и дёргает программку 1 для изменения параметров.

MKuznetsov ★★★★★ ()
Ответ на: комментарий от jtootf

для этой утилиты достаточно чистого Tcl, регулярно пишу подобное по работе

Я об этом тоже думал, и даже пытался делать. Но, честно говоря, так и не разобрался, как работать на Tcl с ком-портом под виндами. Можно с тобой по этому вопросу пообщаться в джаббере или мылом?

decadent ()
Ответ на: комментарий от MKuznetsov

программа пофик-на-чём реализует GUI, то есть читает состояние из файла, и дёргает программку 1 для изменения параметров.

Конечно, это вариант. Но программу 1 придется дергать очень часто, и это меня смущает.

decadent ()
Ответ на: комментарий от decadent

> Но программу 1 придется дергать очень часто, и это меня смущает

относительно недавно mv( вроде ) писал новость про плюсовую библиотеку с биндингами под разные языки для общения между процессами, там была заявлена очень высокая скорость работы

lester ★★★★ ()

Заодно интересно узнать какую-нибудь литературу по использованию Tk в scheme

SV0L0CH ()
Ответ на: комментарий от lester

>относительно недавно mv( вроде ) писал новость про плюсовую библиотеку с биндингами под разные языки для общения между процессами, там была заявлена очень высокая скорость работы

от избытка не лопните для 10Гц то, тут даже быдлокодерский php скрипт справится

hizel ★★★★★ ()
Ответ на: комментарий от hizel

> от избытка не лопните для 10Гц то, тут даже быдлокодерский php скрипт справится

если обновлять надо по-сути в rt и много данных получать? ну-ну

lester ★★★★ ()
Ответ на: комментарий от lester

>> Тащить в винду GTK — это сколько мегабайт дополнительно?

около 20, наверное


gtk-2.12.9-win32-2.exe 7 378 984 bytes

Crocodille ()
Ответ на: комментарий от Crocodille

> gtk-2.12.9-win32-2.exe 7 378 984 bytes

1. это архив
2. а зависимости?

lester ★★★★ ()
Ответ на: комментарий от lester

>если обновлять надо по-сути в rt и много данных получать? ну-ну

через com порт? перестаньте делать мне смешно! :(

hizel ★★★★★ ()
Ответ на: комментарий от hizel

> через com порт? перестаньте делать мне смешно! :(

14Кб/сек по которым строятся графики - это так смешно? вот такие индусы как ты и пишут «программы», что десятки тысяч раз в секунду пишут в один файл( напомню, что требуется кроссплатформенность ), чтоб просто передать данные из процесса в процесс

lester ★★★★ ()
Ответ на: комментарий от lester

вот такие индусы как ты

старый добрый ЛОР :)

jtootf ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.