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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

Наиболее известная библиотека программирования, которая предоставляет такую абстракцию, называется curses [154] Библиотека curses определена в X/Open. Реализация, которая входит в состав Linux, представляет собой совместимую в данный момент с X/Open XSI Curses версию базового уровня. (предписания); она описана в [36]. В нее входит два важных концептуальных уровня. Первый уровень предлагает функции, которые (говоря в общем) посылают одну управляющую последовательность для выполнения одного действия, такого как перемещение курсора вверх или вниз, прокрутка экрана и так далее. Второй уровень реализует концепцию "окон": независимые области окна, которые могут обрабатываться отдельно, при этом cursesобеспечивает кратчайшие последовательности символов для достижения требуемого эффекта.

Библиотека cursesопределяет, какие последовательности передавать в терминал, консультируясь с базой данных, которая для каждого терминала ставит в соответствие названия возможностей строкам, которые должны пересылаться.

Linux, как все современные системы Unix, предлагает две базы данных, которые описывают терминалы в смысле их возможностей и соответствующих им управляющих последовательностей. Более старая база данных называется termcap(сокращение от terminal capabilities — терминальные возможности ) и хранится в одном большом двумерном ASCII-файле по имени /etc/termcap. Этот файл постепенно стал очень громоздким; его размер вырос приблизительно до половины мегабайта. Более новая база данных называется terminfo(сокращение от terminal information — терминальная информация) и хранится во множестве бинарных файлов (по одному на терминал), как правило, в подкаталогах каталога /usr/lib/terminfo.

Внутри каждой базы данных информация о возможностях для каждого терминала индексируется одним (или более) уникальным именем. Обе базы данных используют одно и то же имя для одного и того же сериала. Например, консоль Linux называется linuxи в termcap, и в terminfo. Вы сообщаете программам, какой терминальный вход использовать, путем установки переменной окружения TERM. При создании программ, использующих termcapи terminfo, вам редко придется обращаться к переменной TERM; обычно это берут на себя низкоуровневые библиотеки для получения доступа к базам данных termcapили terminfo.

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

if (!strcmp("linux", getenv("TERM"))) {

/* должна быть консоль Linux */

} else {

/* обрабатывать как обычный последовательный терминал */

}

Также если вы создаете программы на языках программирования, которые не предоставляют упрощенный доступ к cursesили другим библиотекам, вы обязательно оцените удобство применения этой документации.

Разумеется, то, что ваш терминал имеет тип linux, не является гарантией того, что программа работает на локальном терминале. Это означает только то, что у вас есть доступ к управляющим последовательностям, описанным в данной главе, при этом вы не знаете, можете ли вы использовать устройства vcs(о них позже в этой главе) или ioctl(). Стандарт POSIX определяет функцию ttyname(), которую вы можете применить для извлечения имени файла устройства для управляющего терминала. В системе Linux виртуальные консоли называются /dev/tty n , где n принимает значения от 1 до 63 ( /dev/tty0— всегда текущая консоль).

Полное описание систем termcapи terminfoможно найти в [37]. В настоящий момент базы данных termcapи terminfoподдерживает Эрик Раймонд (Eric Raymond), и они доступны по адресу http://www.ccil.org/~esr/terminfo/.

Исходный код ncurses(новая библиотека curses— реализация curses, используемая в Linux) включает в себя введение в программирование с применением curses(файл misc/ncurses-intro.html).

21.2. Глифы, символы и отображения

Когда вы выводите символ на любой терминал, могут произойти несколько шагов преобразования. Значение, выводимое на терминал, представляет собой номер символа, или его код. Однако такого кода символа недостаточно для определения того, что нужно изобразить на экране. Форма зависит от используемого шрифта. Символьный код 97 может быть распечатан как а(в шрифте, предназначенном для визуализации латиницы) или как (в шрифте для визуализации греческого алфавита или математических знаков). Изображаемая на экране форма называется глифом(glyph). Преобразование символьных кодов в глифы называется отображением.

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

Интервал:

Закладка:

Сделать

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

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


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

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

x