"Основы программирования в Linux" - читать интересную книгу автора

Получение справки

Подавляющее большинство систем Linux хорошо документировано в отношении системных программных интерфейсов и стандартных утилит. Это на самом деле так, потому что со времени первых систем UNIX программистов призывали снабжать свои приложения справочными материалами или описаниями. Эти справочные страницы (man pages), которые иногда предоставлялись в печатной форме, всегда доступны и в электронном виде.

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

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

Упражнение 1.3. Справочные руководства и система info

Давайте познакомимся с документацией для компилятора GNU С (gcc).

1. Сначала посмотрим на справочное руководство.

$ man gcc

GCC(1)                GNU                GCC(1)

NAME

       gcc — GNU project С and С++ compiler

SYNOPSIS

       gcc [-с|-S|-E] [-std=standard]

           [-g] [-pg] [-Olevel]

           [-Wwarn...] [-pedantic]

           [-Idir...] [-Ldir...]

           [-Dmacro[=defn]...] [-Umacro]

           [-foption...] [-mmachine-option...]

           [-о outfile] infile...

       Only the most useful options are listed here; see below

       for the remainder. g++ accepts mostly the same options as

       gcc.

DESCRIPTION

       When you invoke GCC, it normally does preprocessing, com-

       pilation, assembly and linking. The "overall options"

       allow you to stop this process at an intermediate stage.

       For example, the -c option says not to run the linker.

       Then the output consists of object files output by the assembler.


       Other options are passed on to one stage of processing.

       Some options control the preprocessor and others the com-

       piler itself. Yet other options control the assembler and

       linker; most of these are not documented here, since we

       rarely need to use any of them.

...

Если хотите, можно прочесть об опциях, поддерживаемых транслятором. В этом случае справочное руководство очень длинное, хотя содержит лишь малую часть полной документации по компилятору GNU С (и С++).

При чтении справочных страниц можно использовать клавишу lt;Пробелgt; для перехода к следующей странице, клавишу lt;Entergt; (или клавишу lt;Returngt;, если на вашей клавиатуре применяется эта клавиша вместо lt;Entergt;) для перехода к следующей строке и клавишу lt;qgt; для полного выхода из программы.

2. Для получения более подробной информации о компиляторе GNU С можно попробовать применить команду info.

$ info gcc

File: gcc.info. Node: Top, Next: G++ and GCC, Up: (DIR)

Introduction

************


   This manual documents how to use the GNU compilers, as well as their

features and incompatibilities, and how to report bugs. It corresponds to

GCC version 4.1.3. The internals of the GNU compilers, including how to port

them to new targets and some information about how to write front ends for

new languages, are documented in a separate manual.

*Note Introduction: (gccint)Top.


*Menu:


* G++ and GCC:: You can compile С or С++ Applications.

* Standards:: Language standards supported by GCC,

* Invoking GCC:: Command options supported by `gcc'.

* С Implementation:: How GCC implements theISO С specification.

* С Extensions:: GNU extensions to the С language family.

* С++ Extensions:: GNU extensions to the С++ language.

* Objective-C:: GNU Objective-C runtime features.

* Compatibility:: Binary Compatibility

--zz-Info: (gcc.info.gz)Top, 39 lines --Top--------------------------

Welcome to Info version 4.8. Type ? for help, m for menu item.

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

У системы info есть собственная справка, конечно, в формате страниц info. Если нажать комбинацию клавиш lt;Ctrlgt;+lt;Hgt;, можно познакомиться со справочным руководством, включающим средства обучения пользованию системой info. Программа info входит в состав многих дистрибутивов Linux и может устанавливаться в других ОС UNIX.