Что такое системный вызов для программирования GUI на x86-64 (linux)? - PullRequest
1 голос
/ 05 сентября 2011

Кто-нибудь знает, какой системный вызов предназначен для программирования GUI, чтобы мы могли рисовать различные картинки на экране?

Я не нахожу здесь ..

GUIнужна поддержка ядра, верно?

1 Ответ

4 голосов
/ 05 сентября 2011

Вы рисуете на экране, передавая протокол X11 системному серверу Xserver.(Используемые системные вызовы являются обычными для разговора через сокет, поэтому они не информативны.) Обычно для этого вы используете библиотеку.Обычной базовой библиотекой для использования является библиотека X11 (libX11), которая обычно оборачивается библиотекой инструментария, такой как GTK или Qt (или wxWindows, Tk или ...).Также есть библиотеки низкого уровня (xcb, который является более тонким уровнем по сравнению с протоколом X) и библиотеки более высокого уровня (Gnome, KDE).Вы также можете использовать библиотеки OpenGL, что является совершенно другим подходом.

Есть целые полки книг о том, как это сделать.


Сам Xserver использует устройства отображения памяти, ион говорит на очень низком уровне с графическим оборудованием.Это не намного более высокий уровень, чем графический драйвер, и это очень привилегированный процесс.(Если вы сравниваете с Windows, вы должны знать, что точные уровни, на которые делятся вещи, отличаются, , но уровень libX11 довольно похож на большую часть Win API.)

...