Программирование для Linux. Профессиональный подход
Шрифт:
В отличие от препроцессора, автоматически ведущего поиск файлов заголовков в текущем каталоге, компоновщик просматривает лишь стандартные каталоги. Поэтому, если библиотечный файл находится в текущем каталоге, об этом нужно сообщить явно с помощью опции
– ltest
1.3. Автоматизация процесса с помощью GNU-утилиты make
Те, кто программируют в Windows, привыкли работать в той или иной интегрированной среде разработки. Программист добавляет в нее исходные файлы, а среда автоматически создает проект. Аналогичные среды доступны и в Linux, но мы не будем рассматривать их. Вместо этого мы научим читателей работать с GNU-утилитой
Основная идея утилиты
В нашем тестовом проекте
Помимо очевидных целевых модулей должен также существовать модуль
Чтобы передать всю эту информацию утилите
Целевые модули перечислены слева. За именем модуля следует двоеточие и существующие зависимости. В следующей строке указано правило, по которому создается модуль (назначение записи
Если удалить созданные нами выше объектные файлы и ввести
будет получен следующий результат:
Утилита
Как видите, утилита
Запись
Обратите внимание на то, что вместо записи
В этом разделе мы рассмотрели лишь самые основные возможности утилиты
В документации можно найти полезные сведения о том, как упростить управление файлом
1.4. GNU-отладчик gdb
Отладчик — это программа, с помощью которой можно узнать, почему написанная вами программа ведет себя не так, как было задумано. Работать с отладчиком приходится очень часто. Большинство Linux-программистов имеет дело с GNU-отладчиком (GNU Debugger, GDB), который позволяет пошагово выполнять программу, создавать точки останова и проверять значения локальных переменных.
1.4.1. Компиляция с включением отладочной информации
Чтобы можно было воспользоваться GNU-отладчиком, необходимо скомпилировать программу с включением в нее отладочной информации. Этой цели служит опция
Черный Маг Императора 14
14. Черный маг императора
Фантастика:
аниме
сказочная фантастика
фэнтези
фантастика: прочее
попаданцы
рейтинг книги
Гримуар темного лорда VIII
8. Гримуар темного лорда
Фантастика:
боевая фантастика
альтернативная история
аниме
фэнтези
фантастика: прочее
попаданцы
рейтинг книги
Неудержимый. Книга XXVII
27. Неудержимый
Фантастика:
фэнтези
попаданцы
рейтинг книги
Сильнейший Столп Империи. Книга 4
4. Сильнейший Столп Империи
Фантастика:
фэнтези
аниме
фантастика: прочее
попаданцы
рейтинг книги
Сэру Филиппу, с любовью
5. Бриджертоны
Любовные романы:
исторические любовные романы
рейтинг книги
Первый среди равных. Книга II
2. Первый среди Равных
Фантастика:
попаданцы
аниме
фэнтези
рейтинг книги
Барон не признает правила
12. Закон сильного
Фантастика:
фэнтези
попаданцы
рейтинг книги
Черный Маг Императора 18
18. Черный маг императора
Фантастика:
юмористическое фэнтези
аниме
сказочная фантастика
фэнтези
фантастика: прочее
попаданцы
рейтинг книги
Патриот. Смута
1. Патриот. Смута
Фантастика:
попаданцы
альтернативная история
рейтинг книги
Последний Герой. Том 2
2. Последний герой
Фантастика:
попаданцы
альтернативная история
рейтинг книги
Офицер Красной Армии
2. Командир Красной Армии
Фантастика:
попаданцы
рейтинг книги