| Аргументы программы |
|
Каждая программа обрабатывает переданные ей аргументы по своему усмотрению. Чтобы такой "индивидуализм" не превращался в головную боль для пользователя, программисты используют механизм опций, который значительно облегчает понимание смысла передаваемых в программу аргументов.
Аргументы программы Программа, созданная на языке С, может получать данные извне посредством чтения аргументов функции main о. Такие данные называют аргументами программы. Не следует отождествлять понятия "аргументы программы" и "аргументы командной строки". Дело в том, что программа получает свои аргументы от родительского процесса, в качестве которого не всегда выступает командная оболочка. Прототип (объявление) функции main {} можно представить следующим образом: int main (int argc, char ** argv, char ** envp) Третий аргумент, идентичный массиву environ и содержащий окружение программы, исторически не прижился. Поэтому функцию main() обычно представляют в укороченном виде: int main (int argc, char ** argv) Если в программе не предусмотрено чтение аргументов, то функцию main {} можно объявить еще проще: int main (void) или даже так: int main () Возможность подобных вариаций с прототипами обусловлена отсутствием единого объявления для функции main(). Работая с ее аргументами, компилятор рассчитывает лишь на "здравый рассудок" программиста. Значение argc показывает общее число аргументов программы. Всегда следует помнить, что первый аргумент (argv[0]) формально содержит имя программы. Реально в argv[0] может находиться что угодно. Вместо "исторических" имен argc и argv можно выбрать любые другие. В этом можно легко убедиться, написав небольшую программу. Но имена argc и argv настолько укоренились в культуре программирования, что любой опытный программист наверняка скажет, что приведенный в листинге пример написан в дурном стиле. Программа mainargs.c #include <stdio.h> Аргументы программы могут интерпретироваться как угодно. Но это, как ни странно, может создавать большие неудобства. Если каждая программа ведет себя по-своему, то работа пользователя может превратиться в кошмар. Чтобы избежать подобных ситуаций, подавляющее большинство программ в Linux используют опции. Опции (options) — это унифицированный интерфейс для передачи данных в программу через аргументы. Механизм опций позволяет разделить все аргументы программы на следующие категории:
Рассмотрим пример вызова программы с использованием опций: $ gcc -pedantic -с -о program.о program.с Итак, команда состоит из шести частей.
Related Articles
Set as favorite
Bookmark
Email This
Hits: 330 Комментарии (0)RSS feed CommentsНаписать комментарий |