Как подключить серверную часть, написанную на c ++, с пользовательским интерфейсом tcl / tk?
Ваш вопрос * Операционная система .Потому что (на многих, но не на всех ОС) любое программное приложение может состоять из двух (или более) процессов , взаимодействующих с использованием средств межпроцессного взаимодействия и такого подхода (которыйчасто подразумевается при использовании слова " back-end ") имеет огромное преимущество получения прибыли от изоляции процесса .Подробнее о программных конвейерах , о трубах и розетках .Они могут быть доступны в вашей целевой ОС.Для хорошего обзора по операционным системам, я настоятельно рекомендую прочитать Операционные системы: Три простых пьесы (это можно загрузить бесплатно).
Если вы программируете для Windows,учиться и учиться WinAPI .Если вы программируете для Linux, изучите его API программирования, прочитав ALP и изучив syscalls (2) и каждый системный вызов , указанный на этой странице man
.,Обе документации полезны для кодирования межпроцессного взаимодействия.
Вы можете написать одно- исполняемое приложение , связав a Tcl / Tk библиотека (или код) с вашим ядром, приложением, кодом C ++, но если вы сделаете это, вы не будете говорить о каком-либо бэкэнде (или фронтэнде), но о прикладной -специфический уровень и GUI пользовательский интерфейс (абстракция) уровень вашего кода.
Наконец, Tcl / Tk, похоже, вышел из модыдля разработки GUI.Сегодня хороший набор инструментов C ++ GUI - Qt , который значительно превосходит (по функциональности и качеству внешнего вида интерфейса) Tcl / Tk.
Я видел библиотеку cpptcl.h.
Это не библиотека , но заголовочный файл (для препроцессора C & C ++ ), объявляющий интерфейс некоторой библиотеки.Я предполагаю, что соответствующая библиотека будет динамически связанной библиотекой, например, некоторые lib*.so
ELF общих объектов в Linux или некоторые *.dll
DLL вWindows.
Это законно
Я полагаю, вы имеете в виду "это законно"?Конечно, да.Или "соответствует правилам" (тогда, конечно, да).Вы могли бы спросить о юридическом статусе этой библиотеки, и правильная формулировка для такого вопроса спрашивает о ее лицензии на программное обеспечение .Tcl / Tk - это программное обеспечение с открытым исходным кодом с некоторыми лицензиями BSD .
где я могу найти хороший пример быстрого старта для того же самого.
И Tk, и Qt имеют превосходную документацию (которую вы должны читать в течение нескольких дней ...).И документация Tk впечатляет (как и документация Qt).Я рекомендую сначала прочитать руководство Tk *1107* (и, если вы выберете Qt, сначала прочтите документацию Getting Started with Qt ).Большая часть программного обеспечения с графическим интерфейсом включает в себя цикл событий (который предоставляется Qt и, вероятно, также Tk).Вы, вероятно, должны иметь обратных вызовов (и Qt использует сигналы и слоты ) из этого цикла событий в функции C ++ вашего аппликативного уровня.