Майкл Джонсон - Разработка приложений в среде Linux. Второе издание

Здесь есть возможность читать онлайн «Майкл Джонсон - Разработка приложений в среде Linux. Второе издание» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва, Год выпуска: 2007, ISBN: 2007, Издательство: Вильямс, Жанр: ОС и Сети, Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Разработка приложений в среде Linux. Второе издание: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Разработка приложений в среде Linux. Второе издание»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Книга известных профессионалов в области разработки коммерческих приложений в Linux представляет собой отличный справочник для широкого круга программистов в Linux, а также тех разработчиков на языке С, которые перешли в среду Linux из других операционных систем. Подробно рассматриваются концепции, лежащие в основе процесса создания системных приложений, а также разнообразные доступные инструменты и библиотеки. Среди рассматриваемых в книге вопросов можно выделить анализ особенностей применения лицензий GNU, использование свободно распространяемых компиляторов и библиотек, системное программирование для Linux, а также написание и отладка собственных переносимых библиотек. Изобилие хорошо документированных примеров кода помогает лучше усвоить особенности программирования в Linux.
Книга рассчитана на разработчиков разной квалификации, а также может быть полезна для студентов и преподавателей соответствующих специальностей.

Разработка приложений в среде Linux. Второе издание — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Разработка приложений в среде Linux. Второе издание», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

21.3. Возможности консоли Linux

Консоль Linux, как и большинство терминалов, является модальной: ее взаимодействие с данными зависит от того, в каком режиме она находится. По умолчанию она выводит на экран передаваемые символы, пока не получает управляющий символ или символ перехода. Управляющий символпросто вызывает некоторое регулирующее действие, а следующий символ уже читается обычным образом. Изменений в режиме обработки не происходит. Символ переходасигнализирует о начале управляющей последовательности и изменяет режим обработки на режим управления.

Например, рассмотрим следующую строку С:

"this is a line\na \033[1mbold\033[0m word\n"

Консоль обрабатывает эту строку в описанной ниже последовательности.

1. Начиная с текущей позиции курсора, консоль печатает слова this is a line.

2. Обнаруживается символ новой строки ( \n), поэтому (так как Linux и Unix обычно работают в режиме, когда новая строка сигнализирует также о возврате каретки) консоль перемещает курсор в начало следующей строки. При этом если курсор уже был на самой нижней строке, весь экран прокручивается вверх на одну строку.

3. В начале данной линии отображается строка а.

4. Консоль сталкивается с символом перехода \033и переводится в управляющий режим.

5. Считывается символ [, консоль переходит в режим ввода командной последовательности(Command Sequence Introduction — CSI).

6. В режиме CSI считывается последовательность десятичных чисел, закодированных в ASCII и разделенных знаками ;, которые называются параметрами. Это продолжается до тех пор, пока не встретится первая буква. Буква определяет действие, которое нужно предпринять, с учетом данных в параметрах. В данном случае имеется один параметр 1, а буква mозначает, что параметр используется для определения изображения символа . Например, параметр 1устанавливает атрибут полужирного шрифта.

7. Распечатывается строка boldв полужирном представлении.

8. Далее идет другая последовательность изображения символов, которая восстанавливает все стандартные атрибуты, поэтому строка wordвыводится в обычном изображении.

9. В завершение встречается и обрабатывается еще один символ новой строки.

Таким образом, считая, что курсор находился в начале строки, выходные данные полностью будут выглядеть примерно так:

this is a line

a boldword

21.3.1. Управляющие символы

Консоль считывает управляющие символы незамедлительно, действует в соответствии с ними и затем продолжает считывать символы в нормальном режиме.

В файлах и документации termcapи terminfoуправляющие символы изображаются символом ^c. Мы будем часто в данной книге использовать это условное обозначение, поскольку оно более универсально и удобно для вас, чем восьмеричные управляющие последовательности С. Для отыскания числового значения управляющего символа в некоторых системах предусмотрен макрос CTRL()в , но он не является стандартным для всех систем.

В качестве замены мы предлагаем нашу собственную версию CTRLCHAR().

#define CTRLCHAR(ch) ((ch)&0x1F)

Она используется так:

if (с == CTRLCHAR('С')) {

/* был нажат символ Control-C */

}

Управляющие символы, воспринимаемые консолью Linux, описаны в табл. 21.1. Символ ^?фактически представляет собой '?'+0100, а не '?'-0100, поэтому это не настоящий управляющий знак вопроса, но в любом случае стандартное обозначение для него ^?. Его значение есть 0177 (восьмеричное), 127 (десятичное), 7F (шестнадцатеричное). Вы не сможете использовать макрос CTRL, описанный только что, для проверки. Вместо этого придется применять числовое значение 127.

Таблица 21.1. Символы управления консолью

Управляющий символ Имя ASCII Описание
^G BEL Выдает тональный сигнал.
BS Курсор перемещается к предыдущему символу, не перезаписывая его (если только курсор не находится в первой колонке).
^I НТ Горизонтальная табуляция; курсор перемещается к следующей точке табуляции.
^J LF Новая строка; курсор перемещается на следующую строку; если курсор уже находился в самой нижней точке области прокручивания, то она продвигается вверх.
^K VT Вертикальная табуляция; интерпретируется так же, как новая строка.
^L FF Подача страницы; интерпретируется так же, как новая строка.
CR Возврат каретки; курсор перемещается в начало текущей строки.
^N SO Сдвиг; используется альтернативный ( G1) символ, установленный для отображения глифов; изображаются глифы для управляющих символов.
^O SI Сдвиг; используется стандартный ( G0) символ, установленный для отображения глифов; не изображаются глифы для управляющих символов.
^X CAN Отменяется любая действующая управляющая последовательность.
^Z SUB Отменяется любая действующая управляющая последовательность.
^[ ESC ESCape; начало управляющей последовательности.
^? DEL Игнорируется.
ALT-^[ - Вводится последовательность команд, которая будет описана далее.

Обратите внимание на то, что результат некоторых из данных кодов зависит от настроек tty. Хотя сама консоль описана здесь абсолютно точно, настройки tty могут изменять передаваемые символы. Например, передача ^J(LF) обычно вынуждает уровень tty также передавать ^M(CR), а символ ^?(DEL) может быть настроен на передачу (BS).

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Разработка приложений в среде Linux. Второе издание»

Представляем Вашему вниманию похожие книги на «Разработка приложений в среде Linux. Второе издание» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Геше Джампа Тинлей - Лоджонг (второе издание)
Геше Джампа Тинлей
Алексей Филатов - Люди «А». Второе издание
Алексей Филатов
Отзывы о книге «Разработка приложений в среде Linux. Второе издание»

Обсуждение, отзывы о книге «Разработка приложений в среде Linux. Второе издание» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x