Денис Колисниченко - Linux: Полное руководство Страница 123
- Категория: Компьютеры и Интернет / Программное обеспечение
- Автор: Денис Колисниченко
- Год выпуска: -
- ISBN: -
- Издательство: -
- Страниц: 158
- Добавлено: 2020-11-04 18:52:01
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних просмотр данного контента СТРОГО ЗАПРЕЩЕН! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту pbn.book@yandex.ru для удаления материала
Денис Колисниченко - Linux: Полное руководство краткое содержание
Прочтите описание перед тем, как прочитать онлайн книгу «Денис Колисниченко - Linux: Полное руководство» бесплатно полную версию:Данная книга представляет собой великолепное руководство по Linux, позволяющее получить наиболее полное представление об этой операционной системе. Книга состоит из трех частей, каждая из которых раскрывает один из трех основных аспектов работы с Linux: Linux для пользователя, сетевые технологии Linux (и методика настройки Linux-сервера), программирование Linux. В книге охвачен очень широкий круг вопросов, начиная с установки и использования Linux «в обычной жизни» (офисные пакеты, игры, видео, Интернет), и заканчивая описанием внутренних процессов Linux, секретами и трюками настройки, особенностями программирования под Linux, созданием сетевых приложений, оптимизацией ядра и др.Изложение материала ведется в основном на базе дистрибутивов Fedora Cora (Red Hat) и Mandriva (Mandrake). Однако не оставлены без внимания и другие дистрибутивы SuSe, Slackware, Gentoo, Alt Linux, Knоppix. Дается их сравнительное описание, a по ходу изложения всего материала указываются их особенности.Книга написана известными специалистами и консультантами по использованию Linux, авторами многих статей и книг по Linux, заслуживших свое признание в самых широких Linux-кругах. Если вы желаете разобраться в особенностях Linux и познать ее внутренний мир, эта книга — ваш лучший выбор.
Денис Колисниченко - Linux: Полное руководство читать онлайн бесплатно
цель1: список_необходимых_файлов
последовательность_команд
...
цельN: список_необходимых_файлов
последовательностъ_команд
Цель — это метка для некоторой последовательности команд (например, install) или результирующий файл, который нужно «построить» — скомпилировать или скомпоновать.
Цели должны отделяться друг от друга хотя бы одной пустой строкой. Список необходимых файлов — это перечень файлов или других целей, которые нужны для достижения данной цели; он может быть и пустым.
Последовательность команд — это команды, которые нужно выполнить для достижения цели. Последовательность команд должна отделяться от начала строки символом табуляции, иначе вы получите ошибку «missing separator» (нет разделителя).
Make-файл может содержать комментарии — они начинаются символом #.
В make-файлах вы можете использовать макроопределения:
CC=gcc
PATH=/usr/include /usr/src/linux/include
MODFLAGS:= -O3 -Wall -DLINUX -I$(PATH)
...
$(CC) $(MODFLAGS) -c proga.c
Чтобы обратиться к макроопределению в команде или в другом макроопределении, нужно использовать конструкцию $(имя). Макроопределение может включать в себя другое, ранее определенное, макроопределение.
Формат запуска утилиты make:
make [-f файл] [ключи] [цель]
Ключ -f указывает файл инструкций, который нужно использовать вместо Makefile. Если этот ключ не указан, то make ищет в текущем каталоге файл Makefile и начинает собирать указанную цель. Если цель не указана, то выполняется первая встреченная в make-файле. Сборка выполняется рекурсивно: make сначала выполняет все цели, от которых зависит текущая цель. Если зависимость представляет собой файл, то make сравнивает его время последней модификации со временем целевого файла: если целевой файл старше или отсутствует, то будет выполнена указанная последовательность команд. Если целевой файл моложе, то текущая цель считается достигнутой.
ПримечаниеЕсли нужно избежать пересборки какого-то из файлов проекта, то можно искусственно «омолодить» его командой touch, которая присвоит ему в качестве времени последней модификации текущее время. Если нужно, наоборот, принудительно пересобрать цель, то следует «омолодить» один из файлов, от которых она зависит.
Работа программы make заканчивается, когда достигнута цель, указанная в командной строке. Обычно это цель all, собирающая все результирующие файлы проекта. Другими распространенными целями являются install (установить собранную программу) и clean (удалить ненужные файлы, созданные в процессе сборки).
В листинге 21.2 представлен make-файл, собирающий небольшой проект из двух программ client и server, каждая из которых компилируется из одного файла исходного кода.
Листинг 21.2. Примерный make-файл
CC=gcc
CFLAGS=-O
all: client server
client: client.с
$(CC) client.с -о client
server: server.с
$(CC) server.с -о server
Обычно при вызове утилиты make не нужно задавать никаких ключей. Но иногда использование ключей бывает очень кстати (таблица 21.1).
Ключи команды make Таблица 21.1
Ключ Назначение -C каталог Перейти в указанный каталог перед началом работы -d Вывод отладочной информации -e Приоритет переменным окружения. Если у нас установлена переменная окружения CC и в Makefile есть переменная с таким же именем, то будет использована переменная окружения -f файл Использовать указанный файл вместо Makefile -i Игнорировать ошибки компилятора -I каталог В указанном каталоге будет производиться поиск файлов, включаемых в Makefile -j n Запускать не более n команд одновременно -k Продолжить работу после ошибки, если это возможно -n Вывести команды, которые должны были выполниться, но не выполнять их -о файл Пропустить данный файл, даже если в Makefile указано, что он должен быть создан заново -r Не использовать встроенные правила -s Не выводить команды перед их выполнением -w Вывод текущего каталога до и после выполнения команды21.3. Пакет binutils и другие полезные программы
Пакет binutils содержит утилиты для работы с бинарными файлами:
♦ ld — компоновщик: программа, связывающая объектные файлы и библиотеки в исполняемый файл;
♦ ar — работа с архивами (создания, модификация и извлечение);
♦ nm — вывод названий идентификаторов из двоичных файлов;
♦ objcopy — копирование и трансляция двоичных файлов;
♦ objdump — вывод информации из двоичных файлов;
♦ ranlib — генерирование индекса оглавления архива;
♦ size — вывод размеров секций архива или двоичного файла;
♦ strings — вывод строк, которые возможно прочитать, из двоичных файлов;
♦ addr2line — конвертирование адресов в памяти в строку в файле;
♦ nlmconv — конвертирует объектный код в NLM.
А теперь перечислим несколько полезных вспомогательных программ.
21.3.1. ansi2knr
Утилита ansi2knr предназначена для преобразования текстов программ, написанных в соответствии со стандартом ANSI С, в программы на «классическом» С Кернигана и Ричи. Формат вызова:
ansi2knr oldfile.c newfile.c
21.3.2. as
Программа as — это GNU-версия ассемблера, предназначенная для создания объектных файлов из программ, написанных на языке ассемблера. Формат вызова:
as [ключи] файл1 [файл2 ... файлN]
Ключи программы as Таблица 21.2
Ключ Назначение -а Вывод листинга -ad He выводить отладочные сообщения -ad Включение в листинг текста программы, написанной на языке высокого уровни, если компиляций проводилась с ключом -g -al Вывод листинга на ассемблере -an Не обрабатывать форм -as Вывод списка символов программы -aфайл Вывести листинг в указанный файл -f Быстрый режим. Директивы препроцессора не обрабатываются -iпуть Добавить указанный путь к Include-пути -MRI Обеспечить MRI-совместимость -о файл Создание объектного файла с указанным именем -R Поместить сегмент данных в сегмент кода -v Вывод версии -W Не выводить предупреждения21.3.3. bison
Программа bison — это грамматический разборщик (парсер): она создает C-программу, предназначенную для разбора определенной грамматики. Данная программа вам не понадобится до тех пор, пока вы не захотите написать собственный компилятор. Ключи программы представлены в таблице 21.3. Формат вызова:
bison [ключи] файл
Ключи программы bison Таблица 21.3
Ключ Назначение -b префикс Использовать указанный префикс для имени входящего файла -d Создать заголовочный файл, содержащий информацию о типах грамматических образцов (токенов), которые определены в вашей грамматике -I Не вставлять код в существующие файлы -о файл Установить файл результата -t Включить отладочную информацию -v Записать созданную программу в файл у.out put21.3.4. flex
Жалоба
Напишите нам, и мы в срочном порядке примем меры.