Что лучший способ состоит в том, чтобы разработать Приложения GUI с C? [закрытый]

12
задан Trevor Hickey 7 April 2018 в 01:35
поделиться

7 ответов

Используйте GTK + . Он написан на C и предоставляет хорошо спроектированный API C. Их учебное пособие очень хорошее.

GTK + - это набор инструментов для GNOME, поэтому ваши приложения идеально подходят для многих рабочих столов Linux.

8
ответ дан 2 December 2019 в 07:02
поделиться

Как лучше всего разрабатывать приложения с графическим интерфейсом пользователя с помощью C?

нет, если вам не нужно: -)

Сложно или просто не имеет смысла создавать приложения с графическим интерфейсом с C?

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

Лично я считаю более полезным просто встроить интерпретатор сценариев (например, Lua, Nasal) с привязками к библиотеке графического интерфейса, а затем закодировать пользовательский интерфейс на языке сценариев высокого уровня и кодировать только ядро ​​самого приложения на C . Python упоминался ранее, но я думаю, что специальный язык расширения, такой как Lua, был бы более подходящим, потому что он не раздувает ваш исходный код и потому, что он не создает никаких дополнительных требований (например, библиотечных зависимостей или архитектурных).

Другими словами, внедрение чего-то вроде Python, Perl или Ruby может быть относительно простым (из-за хорошей документации и активности сообщества), но часто эти языки более сложны, чем само основное приложение.

Этот же подход используется в программном обеспечении AlgoScore , в котором используется встроенный интерпретатор Nasal с привязками GTK.

2
ответ дан 2 December 2019 в 07:02
поделиться

Многие высококачественные графические интерфейсы пользователя были написаны на языке C, например, с помощью Windows API. Нет особой причины, почему нет, но объектно-ориентированное программирование было очень успешным в моделировании интерактивной графики. Элементы графического интерфейса каким-то образом естественным образом отображаются в объекты C ++, которые могут инкапсулировать сложное поведение за простым интерфейсом.

2
ответ дан 2 December 2019 в 07:02
поделиться

Если вы используете систему * nix, вы можете использовать Xlib . Но вам, вероятно, лучше программировать на C ++ и обращаться к своему C-коду.

0
ответ дан 2 December 2019 в 07:02
поделиться

Если вы программируете на C в Windows - окна программирования Петцольда раньше были библией для работы пользовательского интерфейса на основе C.

РЕДАКТИРОВАТЬ: С тех пор, как я ответил на свой вопрос, сообщение было обновлено для Linux. Я оставлю сообщение здесь для всех, кто ищет, но на самом деле это не относится к Linux.

7
ответ дан 2 December 2019 в 07:02
поделиться

Не надо.

Используйте python, а затем привяжите вызовы, требующие больших вычислительных ресурсов, написанные на C.

2
ответ дан 2 December 2019 в 07:02
поделиться

Это достаточно сложно (или, в основном, достаточно многословно), чтобы большинство людей полагало, что это просто не имеет смысла. Часть приложения с графическим интерфейсом пользователя (в основном) реагирует на ввод пользователя, поэтому в этой области скорость редко бывает критичной - разница в несколько микросекунд (или даже миллисекунд) редко имеет большое значение. Пока ответы появляются в течение 100 мс (или около того), они в значительной степени воспринимаются как «мгновенные».

Динамическая типизация также хорошо работает при программировании графического интерфейса пользователя. C использует только статическую типизацию.

1
ответ дан 2 December 2019 в 07:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: