4582
Комментарий:
|
4665
Рано ещё про это :(
|
Удаления помечены так. | Добавления помечены так. |
Строка 1: | Строка 1: |
## page was renamed from LecturesCMC/LinuxApplicationDevelopment2020/03_Multifile |
Многофайловая сборка и агенты прочной раковины
Сначала про раковину, она же secure shell.
- Ключ (повторение)
- Запароленный ключ; в чём разница с паролями на хостах?
- Агент, хранящий распароленный ключ
- Порт агента, хранящего распароленный ключ
- Проброс порта агента, хранящего распароленный ключ
- Дальнейший проброс порта агента, хранящего распароленный ключ
вы издеваетесь?
- Дальнейший проброс порта агента, хранящего распароленный ключ
- Проброс порта агента, хранящего распароленный ключ
- Порт агента, хранящего распароленный ключ
- Агент, хранящий распароленный ключ
- Запароленный ключ; в чём разница с паролями на хостах?
- Бонус: проброс других портов
Сборка из нескольких файлов
- Зачем много файлов?
- Быстрее компилировать не все
- Проще ориентироваться
- Си: пространства имён!
пример
- Скомпилировать сразу все файлы?
- (пере) компиляция только изменённых
Компиляция до .o
(повтор: сложность компоновки вручную с помощью ld)
Make
Проблемы многофайловой сборки: вручную мутороно, сценарий делает много лишнего
- Перекомпиляция только обновлённых исходников
- Параметры этой компиляции
- Удаление генератов
В том числе того, что разработчик считает генератом
- Скриптование приёмов сборки
- в т. ч. уникальных для проекта
Make:
- Цели и рецепты
Как правило «как создать файл из других файлов» (например, prog.o из prog.c)
Вариант: «как создать файл определённого типа из других файлов другого определённого типа» (например .o из .c
- Переменные
- Специальные переменные
- Командный интерпретатор ОС в качестве языка сценариев (как правило, shelll)
- ⇒ нужен shell под системы без shell
TODO
Литература по GNU Make
Книга Владимира Игнатова Эффективное использование GNU Make
Другие низкоуровневые системы сборки
Ориентированные на ЯП и особенности сред программирования Apache_Ant/Apache_Maven (Java), Cabal (Haskell), ASDF (Lisp/CLisp), Boost.Build…
∃ Более высокий уровень — инструменты генерации сборочных сценариев (+окружение, +варианты сборки, +параметризация, +…), об этом после
Д/З
Прочитать и (по возможности) прощёлкать учебник по Make (про интеграцию с SCCS можно не читать). Есть ли отличия в поведении от GNU Make?
(для сдающих спецкурс, кто ещё не сделал этого) Зарегистрировать свой репозиторий в качестве комментария здесь
TODO