26.2. Использование таблиц параметров

26.2. Использование таблиц параметров

26.2.1. Создание содержимого

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

Новое содержимое popt формируется с помощью функции poptGetContext().

#include <popt.h>

poptContext poptGetContext(char * name, int argc, const char ** argv,

 struct poptOption * options, int flags);

Первый параметр, name, используется для работы с псевдонимами и в справочных сообщениях, и должен представлять имя того приложения, параметры которого будут проходить проверку синтаксиса. Следующие два параметра определяют те аргументы командной строки, которые будут проходить проверку синтаксиса. Как правило, они передаются функции poptGetContext(), точно так, как если бы они передавались функции main() программы[184]. Параметр options указывает на таблицу параметров командной строки, которая была определена в предыдущем разделе. Последний параметр, flags, определяет способ синтаксического анализа параметров и включает перечисленные ниже флаги (которые могут быть объединены битовым "ИЛИ").

POPT_CONTEXT_KEEP_FIRST Как правило, popt игнорирует значение в argv[0], которое обычно представляет имя выполняемой программы, а не аргумент командной строки. Если определить этот флаг, то popt будет обрабатывать argv[0] как параметр.
POPT_CONTEXT_POSIXMEHADER Стандарт POSIX гласит, что все параметры должны стоять перед дополнительными параметрами командной строки. Например, в соответствии с POSIX, rm -f file1 file2 приведет к удалению файлов file1 и file2, тогда как rm file1 file2 -f приведет к обычному удалению трех файлов: file1, file2 и -f. В большинстве Linux-программы это частное условие игнорируется, поэтому popt не придерживается этого правила по умолчанию. Этот флаг сообщает библиотеке popt о необходимости анализировать синтаксис параметров в соответствии с этим условием.

Помимо всего прочего, poptContext следит за тем, какие параметры прошли проверку синтаксиса, а какие нет. Если программе необходимо перезапустить обработку параметров в наборе аргументов, она может восстановить исходное состояние poptContext, передавая функции poptResetContext() содержимое в качестве единственного аргумента.

После завершения обработки аргумента процесс должен освободить структуру poptContext, поскольку в ней содержатся динамически размещаемые компоненты. Функция poptFreeContext() принимает poptContext в качестве своего единственного аргумента и освобождает ресурсы, занятые в содержимом.

Ниже представлены прототипы функций poptResetContext() и poptFreeContext().

#include <popt.h>

void poptFreeContext(poptContext con);

void poptResetContext(poptContext con);

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Форматирование таблиц

Из книги Microsoft Office автора Леонтьев Виталий Петрович

Форматирование таблиц При помощи форматирования вы сможете сделать свою таблицу не только приятной для глаз, но и удобной для восприятия. Бывает так, что какие-то элементы необходимо выделить. Это легко выполняется при помощи изменения начертания и размера шрифта,


Использование программы SQLServer Enterprise Manager для создания таблиц базы данных SQL Server

Из книги Обработка баз данных на Visual Basic®.NET автора Мак-Манус Джеффри П

Использование программы SQLServer Enterprise Manager для создания таблиц базы данных SQL Server После создания базы данных необходимо создать в ней таблицы. Для этого с помощью программы SQL Server Enterprise Manager выполните ряд действий.1. В окне Microsoft SQL Servers программы SQL Server Enterprise Manager щелкните на


14.10. Печать таблиц

Из книги Самоучитель работы на компьютере автора Колисниченко Денис Николаевич

14.10. Печать таблиц Вот теперь можно перейти к печати наших таблиц. Если просто нажать кнопку с изображением принтера, то на бумаге вы рискуете получить не то, что вы ожидали. Как и в случае с MS Word, нужно нажать кнопку Предварительный просмотр (или выполнить команду Файл,


Использование родовых параметров

Из книги Основы объектно-ориентированного программирования автора Мейер Бертран

Использование родовых параметров Универсальность лежит в основе интересной идеи, впервые высказанной Францем Вебером (Franz Weber). Объявим класс SKIER1, ограничив универсализацию родового параметра классом ROOM:class SKIER1 [G -> ROOM] featureaccommodation: Gaccommodate (r: G) is ... require ... do accommodation := r


Использование больших таблиц маршрутизации

Из книги Сетевые средства Linux автора Смит Родерик В.

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


Создание таблиц

Из книги HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов автора Дронов Владимир

Создание таблиц Таблицы HTML создаются в четыре этапа.На первом этапе в HTML-коде с помощью парного тега <TABLE> формируют саму таблицу:<TABLE></TABLE>Таблица HTML представляет собой блочный элемент Web-страницы. Это значит, что она размещается отдельно от всех остальных блочных


Использование y -параметров для расчета схем

Из книги OrCAD PSpice. Анализ электрических цепей автора Кеоун Дж.

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


Использование z-параметров для расчета схем

Из книги VBA для чайников автора Каммингс Стив

Использование z-параметров для расчета схем Рис. 12.15. Схема с источником и нагрузкойТипичная схема имеет неидеальный источник с полным внутренним сопротивлением на входе и полное сопротивление нагрузки, подключенное к выходу (рис. 12.15). Можно показать, что Некоторые из


Создание таблиц

Из книги Как сделать свой сайт и заработать на нем. Практическое пособие для начинающих по заработку в Интернете автора Мухутдинов Евгений

Создание таблиц Предполагается, что, достигнув той точки, когда вы готовы создавать таблицы, вы уже выполнили анализ данных и подготовили модель, а также вы имеете совершенно четкое представление о структурах ваших главных таблиц и их взаимоотношениях. Для подготовки к


Использование в запросе нескольких таблиц. Предложение FROM

Из книги автора

Использование в запросе нескольких таблиц. Предложение FROM Как видно из приведенного в конце предыдущего раздела синтаксиса оператора SELECT, в предложении FROM допускается указание нескольких таблиц. Простое перечисление таблиц практически не используется, поскольку оно