Различия между версиями 2 и 3
Версия 2 от 2020-09-28 08:31:37
Размер: 4582
Редактор: FrBrGeorge
Комментарий:
Версия 3 от 2020-09-28 10:00:55
Размер: 4665
Редактор: FrBrGeorge
Комментарий: Рано ещё про это :(
Удаления помечены так. Добавления помечены так.
Строка 1: Строка 1:
## page was renamed from LecturesCMC/LinuxApplicationDevelopment2020/03_Multifile

Многофайловая сборка и агенты прочной раковины

Сначала про раковину, она же secure shell.

  • Ключ (повторение)
    • Запароленный ключ; в чём разница с паролями на хостах?
      • Агент, хранящий распароленный ключ
        • Порт агента, хранящего распароленный ключ
          • Проброс порта агента, хранящего распароленный ключ
            • Дальнейший проброс порта агента, хранящего распароленный ключ
              • вы издеваетесь?

  • Бонус: проброс других портов

Сборка из нескольких файлов

  • Зачем много файлов?
    • Быстрее компилировать не все
    • Проще ориентироваться
    • Си: пространства имён!
    • (!) пример

  • Скомпилировать сразу все файлы?
  • (пере) компиляция только изменённых
    1. Компиляция до .o

    2. Компоновка

      • (повтор: сложность компоновки вручную с помощью ld)

Make

Проблемы многофайловой сборки: вручную мутороно, сценарий делает много лишнего

  1. Перекомпиляция только обновлённых исходников
    • Параметры этой компиляции
  2. Удаление генератов
    • В том числе того, что разработчик считает генератом

  3. Скриптование приёмов сборки
    • в т. ч. уникальных для проекта

Make:

  • Цели и рецепты
    • Как правило «как создать файл из других файлов» (например, prog.o из prog.c)

    • Вариант: «как создать файл определённого типа из других файлов другого определённого типа» (например .o из .c

  • Переменные
    • Специальные переменные
  • Командный интерпретатор ОС в качестве языка сценариев (как правило, shelll)
    • ⇒ нужен shell под системы без shell

TODO

Литература по GNU Make

Другие низкоуровневые системы сборки

∃ Более высокий уровень — инструменты генерации сборочных сценариев (+окружение, +варианты сборки, +параметризация, +…), об этом после

Д/З

  1. Прочитать и (по возможности) прощёлкать учебник по Make (про интеграцию с SCCS можно не читать). Есть ли отличия в поведении от GNU Make?

  2. (для сдающих спецкурс, кто ещё не сделал этого) Зарегистрировать свой репозиторий в качестве комментария здесь

  3. TODO

LecturesCMC/LinuxApplicationDevelopment2020/04_Multifile (последним исправлял пользователь FrBrGeorge 2020-10-05 19:45:19)