Майкл Джонсон - Разработка приложений в среде Linux. Второе издание
- Название:Разработка приложений в среде Linux. Второе издание
- Автор:
- Жанр:
- Издательство:Вильямс
- Год:2007
- Город:Москва
- ISBN:978-5-8459-1143-8
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Майкл Джонсон - Разработка приложений в среде Linux. Второе издание краткое содержание
Книга известных профессионалов в области разработки коммерческих приложений в Linux представляет собой отличный справочник для широкого круга программистов в Linux, а также тех разработчиков на языке С, которые перешли в среду Linux из других операционных систем. Подробно рассматриваются концепции, лежащие в основе процесса создания системных приложений, а также разнообразные доступные инструменты и библиотеки. Среди рассматриваемых в книге вопросов можно выделить анализ особенностей применения лицензий GNU, использование свободно распространяемых компиляторов и библиотек, системное программирование для Linux, а также написание и отладка собственных переносимых библиотек. Изобилие хорошо документированных примеров кода помогает лучше усвоить особенности программирования в Linux.
Книга рассчитана на разработчиков разной квалификации, а также может быть полезна для студентов и преподавателей соответствующих специальностей.
Разработка приложений в среде Linux. Второе издание - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
21.3.3. Тестирование последовательностей
Для проверки большинства последовательностей вам нужно просто войти в виртуальную консоль и запустить cat
. Введите последовательности, которые вы хотите протестировать, и увидите результаты. Для ^[
нажмите клавишу .
Терминалы отвечают на команды вроде идентификации терминала ^[Z
или команды CSIn
, рассматриваемые позже, управляющим последовательностями, которые на терминалах не отображаются. В тех случаях, когда вы хотите увидеть подобное взаимодействие, просто запустите
cat > /tmp/somefile
Затем введите команды, после которых укажите возврат каретки и ^D
. Используйте less
, vi
, Emacs или какую-то другую программу, которая может обрабатывать произвольные символы для того, чтобы прочитать /tmp/somefile
, где непосредственно после напечатанных вами последовательностей вы найдете ответы на них.
21.3.4. Составные управляющие последовательности
Пять двухсимвольных управляющих последовательностей (которые показаны в табл. 21.3) фактически являются префиксами более длинных и сложных последовательностей. Рассмотрим каждую из них по очереди.
Таблица 21.3. Составные последовательность управления консолью
Управляющие последовательности | Описание |
---|---|
^[[ |
Начинается последовательность CSI ( ALT-^[ является синонимом). |
^[] |
Начинается последовательность управления палитрой. |
^[% |
Начинается последовательность UTF (UTF-8 wide-character Unicode). |
^[( |
Выбирается шрифт, соответствующий набору символов G0 . |
^[) |
Выбирается шрифт, соответствующий набору символов G1 . |
^[#8 |
Внутренняя тестовая последовательность DEC; заполняет экран символами Е. |
Последовательности CSI имеют три или четыре части.
1. ^[[
запускает последовательность CSI, переводя терминал в режим CSI.
2. Только для последовательностей h
и l
вы можете добавлять символ ?
, что позволит устанавливать или очищать собственные режимы DEC (см. табл. 21.9).
3. Предусматривается не более чем 16 параметров. Параметры — это десятичные числа, разделенные символами ;
. Например, 1;23;45
представляет собой список из трех параметров: 1, 23 и 45. (Если после прочтения 16 параметров обнаруживается разделитель ;
, то последовательность CSI немедленно прерывает работу и терминал переходит в нормальный режим, распечатывая оставшуюся часть последовательности).
4. Командный символ прерывает последовательность и определяет способ интерпретации параметров, которые терминал только что обнаружил.
На параметры обычно ссылаются как на некоторые переменные от par1 до par16 . Если вы не установили параметр явно, то его значение автоматически приравнивается к нулю или единице, в зависимости от смысла операции. Командные символы CSI перечислены в табл. 21.4.
Таблица 21.4. Последовательности CSI
Символ | Описание |
---|---|
h |
Устанавливает режим; см. табл. 21.8. |
l |
Очищает режим; см. табл. 21.8. |
n |
par1 =5 Отчет о состоянии: терминал отвечает ^[[0n , что означает "OK" par1 =6 Отчет о положении курсора: терминал отвечает ^[[x;yR , где у указывается относительно начала отсчета, а не области (если выбран режим начала отсчета, смотрите табл. 21.9) |
G или ` |
Устанавливает горизонтальное положение курсора в колонке par1 . |
A |
Передвигает вертикальную позицию курсора вверх на par1 строк. |
В или e |
Передвигает вертикальную позицию курсора вниз на par1 строк. |
С или a |
Передвигает горизонтальную позицию курсора вправо на par1 колонок. |
D |
Передвигает горизонтальную позицию курсора влево на par1 колонок. |
E |
Передвигает курсор в начало линии и ниже на par1 строк (1 по умолчанию). |
F |
Передвигает курсор в начало линии и выше на par1 строк (1 по умолчанию). |
d |
Устанавливает вертикальное положение курсора в строке par1 . |
H или f |
Устанавливает вертикальное положение курсора в строке par1 и горизонтальное положение курсора в колонке par2 (по умолчанию оба параметра равны нулю, перемещая курсор в начало отсчета). |
J |
par1 =0 Очищает экран от курсора до конца дисплея par1 =1 Очищает экран от начала отсчета до курсора par1 =2 Очищает экран полностью |
K |
par1 =0 Очищает экран от курсора до конца строки par1 =1 Очищает экран от начала строки до курсора par1 =2 Очищает строку полностью |
L |
Вставляет par1 строк ниже текущей строки. |
М |
Удаляет par1 строк, начиная с текущей строки. |
P |
Удаляет par1 символов, начиная с текущей позиции, передвигая остальную часть строки влево. |
с |
Отвечает ^[[?6c (синоним ^[Z ). |
g |
par1 =0 Удаляет точку табуляции в текущем столбце (по умолчанию) par1 =3 Удаляет все точки табуляции |
m |
Последовательность изображения символов; смотрите табл. 21.7. |
q |
Включает клавиатурный LED par1 и отключает остальные (0 выключает все). |
r |
Устанавливает область прокручивания (применяется только в режиме начала отсчета DEC; см. табл. 21.9): par1 Первая строка области, должна находиться в пределах от 1 (по умолчанию) до par2 –1 par2 Последняя строка области, должна находиться в пределах от par1 +1 и нижней строкой (по умолчанию) |
s |
Сохраняет позицию и атрибуты курсора (синоним ^[7 ). |
u |
Восстанавливает позицию и атрибуты курсора (синоним ^[8 ). |
X |
Стирает par1 символов (до конца текущей строки). |
@ |
Стирает par1 символов (до конца текущей строки). |
] |
Последовательности setterm; смотрите табл. 21.10. |
Несколько последовательностей принимают аргументы, описывающие цвета. Во всех таких последовательностях используется одно и то же соответствие между числами и цветами, приведенное в табл. 21.5. Последовательности, которые указывают цвета фона, допускают номера цветов только от 0 до 7. Те последовательности, которые задают цвет переднего плана, принимают числа от 8 до 15 (они описывают насыщенные или яркие цвета).
Таблица 21.5. Коды цветов
Число | Цвет | Число | Яркий цвет |
---|---|---|---|
0 | Черный | 8 | Темно-серый |
1 | Красный | 9 | Светло-красный |
2 | Зеленый | 10 | Светло-зеленый |
3 | Коричневый | 11 | Желтый |
4 | Голубой | 12 | Светло-голубой |
5 | Пурпурный | 13 | Ярко-красный |
6 | Синий | 14 | Светло-синий |
7 | Серый | 15 | Белый |
Указанные цвета фактически представляют собой смещения — названия цветов в таблице описывают стандартные цвета, которые хранятся по данным смещениям. Однако вы можете изменять эти цвета при помощи последовательности установки палитры. Например, последовательность ^[]P
определяет отдельный компонент палитры; последовательность ^[]R
восстанавливает стандартную системную палитру. Компоненты палитры определяются семью шестнадцатеричными цифрами, введенными после ^[]P
, как описано в табл. 21.6. Таким образом, для каждого элемента палитры вы можете предоставить 24-битовое определение цвета с восемью битами для каждого цвета.
Интервал:
Закладка: