Вход/Регистрация
Разработка приложений в среде Linux. Второе издание
вернуться

Троан Эрик В.

Шрифт:

Это суффиксное правило демонстрирует другую возможность

make
— автоматические переменные. Понятно, что нужно найти способ подставить зависимость и целевой объект в командную строку. Автоматическая переменная
$@
выступает в качестве целевого объекта,
$<
выступает в качестве первой зависимости, а
$^
представляет все зависимости.

Существуют и другие автоматические переменные, которые рассматриваются в руководстве по

make
. Все автоматические переменные можно использовать в обыкновенных правилах, а также в суффиксных и шаблонных правилах.

Последняя строка примера представляет еще одну директиву.

.SUFFIXES
указывает
make
на то, что
.с
и
.о
являются суффиксами, которые должен использовать
make
для нахождения способа превратить существующие исходные файлы в необходимые целевые объекты.

Шаблонные правила более мощные и, следовательно, немного сложнее, чем суффиксные правила. Ниже приведен пример эквивалентного шаблонного правила для показанного выше суффиксного правила.

% .о: % .с

$(CC) -с $(CFLAGS) $(CPPFLAGS) -о $<

Дополнительные сведения о

make
можно получить в [26]. GNU
make
также включает замечательное и удобное в обращении руководство в формате Texinfo, которое можно почитать на сайте FSF, распечатать или заказать у них в форме книги.

Большинство крупных проектов с открытым исходным кодом используют инструменты Automake, Autoconf и Libtool. Эти инструменты представляют собой коллекцию знаний об особенностях различных систем и стандартах сообщества, которая может помочь в построении проектов. Таким образом, потребуется писать лишь немного кода, специфического для проекта. Например, Automake пишет целевые объекты

install
и
uninstall
, Autoconf автоматически определяет возможности системы и настраивает программное обеспечение для его соответствия системе, a Libtool отслеживает различия в управлении совместно используемыми библиотеками на разных системах.

По этим трем инструментам написана целая книга — [41]; здесь мы даем лишь основу, которая понадобится для работы с GNU Autoconf, Automake и Libtool.

4.3. Отладчик GNU

gdb
— это отладчик, рекомендуемый Free Software Foundation,
gdb
представляет собой хороший отладчик командной строки, на котором строятся некоторые инструменты, включая режим
gdb
в Emacs, графический отладчик Data Display Debugger и встроенные отладчики в некоторых графических интерфейсах IDE. В этом разделе рассматривается только
gdb
.

Запустите

gdb
с помощью команды
gdb имя_программы
.
gdb
не будет просматривать значение
PATH
в поисках исполняемого файла. Отладчик загрузит символьную информацию для исполняемого файла и запросит дальнейших действий.

Существует три способа проверить процесс с помощью

gdb
.

• Используя команду

run
для обычного выполнения программы.

• Используя команду

attach
для начала проверки уже запущенного процесса. При подключении к процессу, последний останавливается.

• Исследуя существующий файл ядра для определения состояния процесса при его завершении. Для исследования файла ядра

gdb
потребуется запустить с помощью команды
имя_программы файл_ядра
.

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

gdb
не требует написания полного имени команды; указание
r
достаточно для
run
,
n
— для
next
,
s
— для
step
. Более того, для повторения наиболее часто употребляемой команды, нужно просто нажать клавишу <Enter>. Таким образом, пошаговое выполнение программы становится проще.

Ниже предложен небольшой набор полезных команд

gdb
;
gdb
включает полное онлайновое руководство в формате GNU info (запустите
info gdb
), в котором детально объясняются все опции
gdb
. В [19] содержится неплохое подробное руководство по работе с
gdb
.
gdb
также поддерживает оперативную справку, ссылки на которую можно найти внутри
gdb
; доступ к справочным файлам можно получить, введя команду
help
. Можно также получить справку по каждой определенной команде, набрав
help команда
или
help тема
.

Подобно командам оболочки, команды

gdb
могут принимать аргументы. "Вызвать
help
с аргументом
команда
" означает то же самое, что и "набрать
help команда
".

Некоторые команды

gdb
также принимают идентификаторы формата для спецификации вывода значений. Идентификаторы формата располагаются за именем команды и отделяются от него косой чертой. После выбора формата необходимость использовать его каждый раз при повторе команды отпадает;
gdb
запоминает выбранный формат и использует его по умолчанию.

  • Читать дальше
  • 1
  • ...
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: