позволю себе спросить ещё вот что: можно ли выравнять адрес до ближайшей к нему степени двойки (в большую сторону)? 1000 -> 1024, 3000 ->4096 и т.д.
addr = (addr | (alignment - 1)) + 1;
cl <имя вашего cpp файла>
не удается открыть CL.exe для записи
все равно не может найти
Package ncurses was not found
pkg-config --cflags --libs ncurses
pkg-config --cflags --libs ncursesw
ls /mingw64/lib/libncurses*
pacman -Ss ncurses
pacman -S <имя пакета>
message(NOTICE "CURSES_INCLUDE_DIR: ${CURSES_INCLUDE_DIR}")
надо еще указать путь к заголовочным файлам
Если я не указываю, я ожидаю сообщения о том, что у меня нет ключа и отклонение запроса, а мне предлагает ввести пароль от юзера.
Рисование окошек и элементов управления принципиально ничем особенным не отличается от любых других системных функций, предоставляемых ОС.
Функционал GUI предоставляет ОС (в случае никсов не ОС, а X11, но это не принципиально). В приложении на любом ЯП вы просто можете использовать базовый функционал ОС. ОС (и Х11) свой функционал предоставляют в виде набора стандартных библиотек, которые вы подключаете к своему приложению на Си (или любом другом ЯП).
Но обычно, использовать базовый функционал сложно (или мало плюшек или плюшки еще сложнее использовать или много кода или хочется ООП и т.п.), поэтому вокруг базового функционала написано куча дополнительных библиотек, которые упрощают использование GUI и возможно дают что-то сверху.
Во многих современных библиотеках реализуют кросс-платформенный вариант GUI, основываясь на базовом функционале для каждой конкретной платформы. Например Qt, wxWidgets и т.д. и т.п.
Сейчас на Си писать GUI не слишком популярно, но, конечно, никто не запрещает это делать. Если очень надо, то лучше использовать С++ или C#.