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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

Функция poptGetNextOpt()возвращает значение -1, если был проанализирован синтаксис последнего аргумента, и другие отрицательные значения в случае возникновения ошибки. Поэтому лучше всего присваивать элементам valв таблице параметров значения больше нуля.

Если все параметры командной строки обрабатываются через указатели arg, то синтаксический анализ командной строки сокращается до следующей строки кода:

rc = poptGetNextOpt(poptcon);

Тем не менее, для многих приложений требуется более сложный синтаксический анализ командной строки, нежели этот, и применяется показанная ниже структура.

while ((rc = poptGetNextOpt(poptcon)) > 0) {

switch (rc) {

/* здесь обрабатываются специфические аргументы */

}

}

Во время обработки возвращенных параметров приложению необходимо знать значение каждого аргумента, который был определен после параметра. Это можно сделать двумя способами. Один из них заключается в том, чтобы poptприсваивала переменной значение параметра из элементов arg таблицы параметров. Другой способ предусматривает применение функции poptGetOptArg().

#include

char * poptGetOptArg(poptContext con);

Эта функция возвращает аргумент, заданный для последнего параметра, возвращенного функцией poptGetNextOpt(), или возвращает значение NULL, если ни один из аргументов не был определен.

26.2.3. Остаточные аргументы

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

char * poptGetArg(poptContext con);

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

char * poptPeekArg(poptContext con);

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

char ** poptGetArgs(poptContext con);

Эта функция возвращает все остаточные аргументы в виде argv. Последний элемент в возвращаемом массиве указывает на NULL, подтверждая конец аргументов.

26.2.4. Автоматические справочные сообщения

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

#include

void poptPrintHelp(poptContext con, FILE * f, int flags);

void poptPrintUsage(poptContext con, FILE * f, int flags);

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

Поскольку за справочное сообщение отвечает параметр --help, а за сообщение об использовании — параметр --usage, библиотека poptпредлагает простой способ добавления этих двух параметров в программу. Чтобы добавить эти параметры в таблицу параметров, можно использовать макрос POPT_AUTOHELP [185] Он также добавляет параметр -? , который соответствует --help . , который выводит соответствующие сообщения в STDOUTи закрывается после возвращения кода 0 [186] Макрос POPT_AUTOHELP расширяется для включения вложенной таблицы параметров, определяющей новые параметры и обратный вызов, при котором реализуются эти параметры. . В следующем примере показана таблица параметров в файле grep.с; мы должны добавить одну строку в таблицу параметров для grep, чтобы активизировать автоматическое генерирование справочных сообщений.

95: struct poptOption optionsTable[] = {

96: { "extended-regexp", 'E', POPT_ARG_VAL,

97: &mode, MODE_EXTENDED,

98: "шаблоном для соответствия является расширенное регулярное "

99: "выражение" },

100: { "fixed-strings", 'F', POPT_ARG_VAL,

101: &mode, MODE_FIXED,

102: "шаблоном для соответствия является базовая строка, (не "

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

Интервал:

Закладка:

Сделать

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

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


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

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

x