Как подключить серверную часть в c ++ с пользовательским интерфейсом tcl / tck? - PullRequest
0 голосов
/ 13 мая 2019

Я видел заголовочный файл cpptcl.h.Это законно?Также, где я могу найти хороший пример быстрого старта для того же самого.Я использую tcl / tk для разработки пользовательского интерфейса и хочу вызывать скрипты путем разветвления в коде c ++.

1 Ответ

4 голосов
/ 13 мая 2019

Как подключить серверную часть, написанную на 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 ++ вашего аппликативного уровня.

...