<Предыдущая | Содержание: | Следующая>
Изучение исходного дерева
Распаковка tar-файла приводит к созданию нового каталога с именем дикция-1.11. Этот каталог содержит дерево исходных текстов. Заглянем внутрь:
[me @ linuxbox src] $ cd дикция-1.11
[me @ linuxbox diction-1.11] $ ls
[me @ linuxbox src] $ cd дикция-1.11
[me @ linuxbox diction-1.11] $ ls
config.guess diction.c
config.h.in diction.pot config.sub diction.spec configure diction.spec.in configure.in diction.texi.in КОПИРОВАНИЕ en
де en_GB
de.po en_GB.po diction.1.in getopt1.c
getopt.c
getopt.h getopt_int.h УСТАНОВИТЬ
install-sh Makefile.in misc.c misc.h НОВОСТИ
nl
nl.po README
предложение.c предложение.h style.1.in style.c test
config.guess diction.c
config.h.in diction.pot config.sub diction.spec configure diction.spec.in configure.in diction.texi.in КОПИРОВАНИЕ en
де en_GB
de.po en_GB.po diction.1.in getopt1.c
В нем мы видим ряд файлов. Программы, принадлежащие проекту GNU, а также многим другим, будут предоставлять файлы документации. README, УСТАНОВИТЬ, НОВОСТИи КОПИРОВАНИЕ. Эти файлы содержат описание программы, информацию о том, как ее собрать и установить, а также условия ее лицензирования. Всегда полезно внимательно прочитать README и УСТАНОВИТЬ файлы перед попыткой сборки программы.
Другие интересные файлы в этом каталоге - это файлы, заканчивающиеся на .c и .h:
[me @ linuxbox diction-1.11] $ ls * .c
diction.c getopt1.c getopt.c misc.c предложение.c style.c [me @ linuxbox diction-1.11] $ ls * .h
getopt.h getopt_int.h misc.h предложение.h
[me @ linuxbox diction-1.11] $ ls * .c
diction.c getopt1.c getopt.c misc.c предложение.c style.c [me @ linuxbox diction-1.11] $ ls * .h
getopt.h getopt_int.h misc.h предложение.h
Ассоциация .c файлы содержат две программы C, поставляемые в пакете (стиль и дикция), разделенных на модули. Распространенной практикой является разбиение больших программ на более мелкие, более простые в управлении части. Файлы исходного кода представляют собой обычный текст и могут быть просмотрены с помощью Меньше:
[me @ linuxbox diction-1.11] $ меньше diction.c
[me @ linuxbox diction-1.11] $ меньше diction.c
Ассоциация .h файлы известны как заголовочные файлы. Это тоже обычный текст. Заголовочные файлы содержат описания подпрограмм, включенных в файл или библиотеку исходного кода. Чтобы компилятор мог подключить модули, он должен получить описание всех модулей, необходимых для выполнения всей программы. Ближе к началу дикция.c файла мы видим такую строку:
#include "getopt.h"
#include "getopt.h"
Это инструктирует компилятор прочитать файл getopt.h поскольку он читает исходный код в дикция.c чтобы «знать», что в getopt.c, getopt.c файл предоставляет процедуры, которые используются обоими стиль и дикция программ.
Над включают заявление для getopt.hмы видим другие включают такие утверждения, как эти:
#включают
#включает в себя
#включают
#включают
#включают
#включают
#включает в себя
#включают
#включают
#включают
Они также относятся к файлам заголовков, но они относятся к файлам заголовков, которые находятся за пределами текущего дерева исходных текстов. Они поставляются системой для поддержки компиляции каждой программы. Если мы заглянем / usr / include, мы их видим:
[me @ linuxbox diction-1.11] $ ls / usr / include
[me @ linuxbox diction-1.11] $ ls / usr / include
Заголовочные файлы в этом каталоге были установлены при установке компилятора.