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

Тут можно читать онлайн Майкл Джонсон - Разработка приложений в среде Linux. Второе издание - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-osnet, издательство Вильямс, год 2007. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Разработка приложений в среде Linux. Второе издание
  • Автор:
  • Жанр:
  • Издательство:
    Вильямс
  • Год:
    2007
  • Город:
    Москва
  • ISBN:
    978-5-8459-1143-8
  • Рейтинг:
    3.8/5. Голосов: 101
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

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

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

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

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

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

Разработка приложений в среде Linux. Второе издание - читать книгу онлайн бесплатно, автор Майкл Джонсон
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Расположения символов, не определенные POSIX, активны только в случае установки локального управляющего флага IEXTEN(c_lflag).

Управляющие символы, которые вы видите как индексы массива с_сс, перечислены ниже.

VINTR Смещение VINTRобычно устанавливается в ^C. Оно обычно сбрасывает на диск очереди ввода-вывода и передает SIGINTэлементам группы процесса переднего плана, ассоциированным с tty. Процессы, неявно обрабатывающие SIGINT, немедленно завершаются.
VQUIT Смещение VQUITобычно устанавливается в ^\. Оно обычно сбрасывает на диск очереди ввода-вывода и передает SIGQUITэлементам группы процесса переднего плана, ассоциированным с tty. Процессы, неявно обрабатывающие SIGQUIT, завершаются, при возможности сброса дампа ядра (см. главу 10).
VERASE Смещение VERASEобычно устанавливается в ^Hили ^?. В каноническом режиме оно обычно стирает предыдущий символ в строке. В неформатируемом режиме это несущественно.
VKILL Смещение VKILLобычно установлено в ^U. В каноническом режиме оно обычно стирает всю строку. В неформатируемом режиме это несущественно.
VEOF Смещение VEOFобычно установлено в ^D. В каноническом режиме оно заставляет read()на файловом дескрипторе возвращать 0, сигнализируя о состоянии конца файла. На некоторых системах оно может делить пространство с символом VMIN, активным лишь в неформатируемом режиме. (Это не проблема, если вы сохраните struct termiosс каноническими установками режима для восстановления действий в неформатируемом режиме, что все равно присуще практике программирования с применением termios.)
VSTOP Смещение VSTOPобычно установлено в ^S. Оно заставляет tty приостановить передачу выходных данных до получения символа VSTART, или, в случае установки IXANY, до получения любого символа.
VSTART Смещение VSTARTобычно установлено в ^Q. Оно запускает приостановленный вывод tty.
VSUSP Смещение VSUSPобычно установлено в ^Z. Оно вызывает передачу SIGTSTPтекущей группе процессов переднего плана; более подробно об этом рассказывается в главе 15.
VEOLи VEOL2 В каноническом режиме эти символы, а также символ новой строки ( '\n'), сигнализируют о состоянии конца строки. Это вызывает передачу скомпонованного буфера и запуск нового буфера. На некоторых системах VEOLможет делить пространство с символом VTIME, активным лишь в неформатируемом режиме, так же, как VEOFможет делить пространство с VMIN. Символ VEOL2в POSIX не определен.
VREPRINT Смещение VREPRINTобычно установлено в ^R. В каноническом режиме в случае установки флага ECHOоно вызывает локальное отражение символа VREPRINT, новой строки (и возврата каретки, если это допустимо), а также перепечатку всего текущего буфера. Этот символ в POSIX не определен.
VWERASE Смещение WERASEобычно установлено в ^W. В каноническом режиме оно стирает все пробелы в конце буфера, затем все остальные символы, что дает эффект стирания предыдущего слова в строке. Этот символ в POSIX не определен.
VLNEXT Смещение VLNEXTобычно установлено в ^V. Само оно не вводится в буфер, но вызывает литеральное помещение в буфер следующего символа, даже если это один из управляющих символов. Для того чтобы ввести один литеральный символ VLNEXT, введите его дважды. Этот символ в POSIX не определен.

Для отключения любой позиции управляющего символа установите его значение в _POSIX_VDISABLE. Это работает только в случае определения _POSIX_VDISABLEкак значения, не равного -1. _POSIX_VDISABLEработает в Linux, но переносимая программа, к сожалению, не сможет зависеть от отключения расположений управляющих символов во всех системах.

16.5.8. Локальные флаги

Флаги локального режима влияют на локальную обработку, что в какой-то мере относится к способу сбора символов перед их выводом. Когда устройство находится в каноническом режиме (режиме с обработкой), символы отражаются локально без передачи в удаленную систему до тех пор, пока не встретится символ новой строки. На этом этапе передается вся строка, а удаленный конец обрабатывает ее без повторного отражения. В неформатируемом режиме каждый символ передается в удаленную систему в таком виде, в каком он принимается. Иногда символ отображается только удаленной системой, иногда только локальной, а иногда, например, при чтении пароля, он и вовсе не отображается.

Некоторые флаги могут вести себя иначе, в зависимости от того, в каком режиме находится терминал: каноническом или неформатируемом. Флаги, ведущие себя иначе в каноническом и неформатируемом режимах, отмечены.

Флаги, работающие на c_cflag, перечислены ниже.

ICANON При установке ICANONвключается канонический режим. Если ICANONне установлен, включается неформатируемый режим.
ECHO При установке ECHOвключается локальное эхо. Если ECHOне установлен, все остальные флаги, названия которых начинаются с ECHO, эффективно отключаются и функционируют так, как будто они все, кроме ECHONL, не установлены.
ECHOCTL При установке ECHOCTLуправляющие символы выводятся как ^C, где С— это символ, формирующийся добавлением восьмеричного 0100 к управляющему символу, по модулю восьмеричного 0200. Поэтому Control-C отображается как ^C, a Control-? (восьмеричный 0177) отображается как ^?( ?— это восьмеричный 77). Этот флаг в POSIX не определен.
ECHOE В каноническом режиме при установке ECHOEв случае получения символа ERASEпредыдущий символ на дисплее по возможности стирается.
ECHOKи ECHOKE В каноническом режиме при получении символа KILLвся текущая строка стирается из буфера. Если не установлены ни ECHOK, ни ECHOKE, ни ECHOE, выводится представление символа KILLс помощью ECHOCTL( ^Uпо умолчанию) для обозначения стертой строки. Если установлены ECHOEи ECHOK, но ECHOKEне установлен, выводится представление символа KILLс помощью ECHOCTL, сопровождаемое новой строкой, которая затем обрабатывается OPOSTв случае установки OPOST. Если установлены ECHOE, ECHOKи ECHOKE, строка стирается. См. описание ECHOPRTдля другой вариации на эту тему. Флаг ECHOKEв POSIX не определен. В системах без флага ECHOKEустановка флага ECHOKможет быть эквивалентна установке и ECHOK, и ECHOKEв Linux.
ECHONL В каноническом режиме при установке ECHONLсимволы новой строки ( '\n') отражаются даже в том случае, если ECHOне установлен.
ECHOPRT В каноническом режиме при установке ECHOPRTсимволы выводятся при стирании, когда принимаются символы ERASEили WERASE(или KILL, если установлены ECHOKи ECHOKE). Когда принимается первый в последовательности символ стирания, выводится \, а при выводе последнего символа стирания (достигается конец строки или вводится нестертый символ), выводится /. Каждый вводимый вами нормальный символ просто отображается. Поэтому ввод asdf, сопровождаемый двумя символами ERASE, а также dfи символом KILL, будет выглядеть следующим образом: asdf\fd/df\fdsa/. Этот флаг полезен для отладки и использования документирующих терминалов вроде первоначального телетайпа, где символы печатаются на бумаге; в другом случае он не пригодится. Этот флаг в POSIX не определен.
ISIG Если установлен ISIG, управляющие символы INTR, QUITи SUSPвызывают отправку соответствующего сигнала ( SIGINT, SIGQUITили SIGTSTPсоответственно; см. главу 12) всем процессам в текущей группе процессов переднего плана на данном tty.
NOFLSH Обычно при получении символов INTRи QUITочереди ввода и вывода сбрасываются. При установке NOFLSHочереди не сбрасываются.
TOSTOP Если установлен TOSTOP, то в том случае, когда процесс, не находящийся в текущей группе процессов переднего плана, пытается выполнить запись в свой управляющий терминал, передается SIGTTOUвсей группе процессов, членом которой является данный процесс. По умолчанию этот сигнал останавливает процесс, как при нажатии комбинации клавиш, соответствующей символу SUSP.
IEXTEN Этот флаг описан в POSIX как определяемый реализацией. Он включает обработку символов ввода, определяемую реализацией. Хотя переносимые программы не устанавливают этот бит, IUCLCи определенные возможности стирания символов в Linux зависимы от его установки. К счастью, он чаще всего разрешен по умолчанию в системах Linux, поскольку ядро изначально разрешает его при установке tty, поэтому обычно не нужно устанавливать его по какой-либо причине.

16.5.9. Управление read()

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

Интервал:

Закладка:

Сделать


Майкл Джонсон читать все книги автора по порядку

Майкл Джонсон - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




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


Отзывы читателей о книге Разработка приложений в среде Linux. Второе издание, автор: Майкл Джонсон. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x