🗊 Презентация Многофайловый проект. Автоматизация сборки проекта

Нажмите для полного просмотра!
Многофайловый проект. Автоматизация сборки проекта, слайд №1 Многофайловый проект. Автоматизация сборки проекта, слайд №2 Многофайловый проект. Автоматизация сборки проекта, слайд №3 Многофайловый проект. Автоматизация сборки проекта, слайд №4 Многофайловый проект. Автоматизация сборки проекта, слайд №5 Многофайловый проект. Автоматизация сборки проекта, слайд №6 Многофайловый проект. Автоматизация сборки проекта, слайд №7 Многофайловый проект. Автоматизация сборки проекта, слайд №8 Многофайловый проект. Автоматизация сборки проекта, слайд №9 Многофайловый проект. Автоматизация сборки проекта, слайд №10 Многофайловый проект. Автоматизация сборки проекта, слайд №11 Многофайловый проект. Автоматизация сборки проекта, слайд №12 Многофайловый проект. Автоматизация сборки проекта, слайд №13 Многофайловый проект. Автоматизация сборки проекта, слайд №14 Многофайловый проект. Автоматизация сборки проекта, слайд №15 Многофайловый проект. Автоматизация сборки проекта, слайд №16 Многофайловый проект. Автоматизация сборки проекта, слайд №17 Многофайловый проект. Автоматизация сборки проекта, слайд №18 Многофайловый проект. Автоматизация сборки проекта, слайд №19 Многофайловый проект. Автоматизация сборки проекта, слайд №20 Многофайловый проект. Автоматизация сборки проекта, слайд №21 Многофайловый проект. Автоматизация сборки проекта, слайд №22 Многофайловый проект. Автоматизация сборки проекта, слайд №23 Многофайловый проект. Автоматизация сборки проекта, слайд №24 Многофайловый проект. Автоматизация сборки проекта, слайд №25 Многофайловый проект. Автоматизация сборки проекта, слайд №26 Многофайловый проект. Автоматизация сборки проекта, слайд №27 Многофайловый проект. Автоматизация сборки проекта, слайд №28

Содержание

Вы можете ознакомиться и скачать презентацию на тему Многофайловый проект. Автоматизация сборки проекта. Доклад-сообщение содержит 28 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Многофайловый проект. Автоматизация сборки проекта.
Описание слайда:
Многофайловый проект. Автоматизация сборки проекта.

Слайд 2


Недостатки однофайловых проектов Одновременная работа над программой нескольких программистов становится неэффективной. Ориентирование в тексте...
Описание слайда:
Недостатки однофайловых проектов Одновременная работа над программой нескольких программистов становится неэффективной. Ориентирование в тексте программы становится сложным. Даже при локальном изменении перекомпилируется весь проект.

Слайд 3


Преимущества многофайловой организации проекта Позволяет распределить работу над проектом между несколькими программистами. Код программы более...
Описание слайда:
Преимущества многофайловой организации проекта Позволяет распределить работу над проектом между несколькими программистами. Код программы более удобочитаем. Сокращает время повторной компиляции. Повторное использование кода.

Слайд 4


Компиляция многофайлового проекта // hello.c #include void hello(void) { printf("Hello!\n"); }
Описание слайда:
Компиляция многофайлового проекта // hello.c #include void hello(void) { printf("Hello!\n"); }

Слайд 5


Компиляция многофайлового проекта // hello.c #include void hello(void) { printf("Hello!\n"); }
Описание слайда:
Компиляция многофайлового проекта // hello.c #include void hello(void) { printf("Hello!\n"); }

Слайд 6


Компиляция многофайлового проекта
Описание слайда:
Компиляция многофайлового проекта

Слайд 7


Компиляция многофайлового проекта // hello.c #include void hello(void) { printf("Hello!\n"); }
Описание слайда:
Компиляция многофайлового проекта // hello.c #include void hello(void) { printf("Hello!\n"); }

Слайд 8


Компиляция многофайлового проекта
Описание слайда:
Компиляция многофайлового проекта

Слайд 9


Заголовочные файлы // hello.c #include void hello(void) { printf("Hello!\n"); } // hello.h void hello(void);
Описание слайда:
Заголовочные файлы // hello.c #include void hello(void) { printf("Hello!\n"); } // hello.h void hello(void);

Слайд 10


Заголовочные файлы // list.h struct list_node { void *data; struct list_node *next; }; // ...
Описание слайда:
Заголовочные файлы // list.h struct list_node { void *data; struct list_node *next; }; // ...

Слайд 11


Заголовочные файлы // list.h #ifndef __LIST_H__ #define __LIST_H__ struct list_node { void *data; struct list_node *next; }; // ... #endif //...
Описание слайда:
Заголовочные файлы // list.h #ifndef __LIST_H__ #define __LIST_H__ struct list_node { void *data; struct list_node *next; }; // ... #endif // __LIST_H__

Слайд 12


«Большой» проект Компиляция c99 -Wall -Werror -pedantic -c hello.c c99 -Wall -Werror -pedantic -c buy.c c99 -Wall -Werror -pedantic -c main.c c99...
Описание слайда:
«Большой» проект Компиляция c99 -Wall -Werror -pedantic -c hello.c c99 -Wall -Werror -pedantic -c buy.c c99 -Wall -Werror -pedantic -c main.c c99 -Wall -Werror -pedantic -c test.c Компоновка c99 -o greeting.exe hello.o buy.o main.o c99 -o test_greeting.exe hello.o buy.o test.o

Слайд 13


Граф зависимостей
Описание слайда:
Граф зависимостей

Слайд 14


Утилита make make — утилита, автоматизирующая процесс преобразования файлов из одной формы в другую. GNU Make (рассматривается далее) BSD Make...
Описание слайда:
Утилита make make — утилита, автоматизирующая процесс преобразования файлов из одной формы в другую. GNU Make (рассматривается далее) BSD Make Microsoft Make (nmake)

Слайд 15


Утилита make: принципы работы Необходимо создать так называемый сценарий сборки проекта (make-файл). Этот файл описывает отношения между файлами...
Описание слайда:
Утилита make: принципы работы Необходимо создать так называемый сценарий сборки проекта (make-файл). Этот файл описывает отношения между файлами программы; содержит команды для обновления каждого файла. Утилита make использует информацию из make-файла и время последнего изменения каждого файла для того, чтобы решить, какие файлы нужно обновить. Утилита make предполагает, что по умолчанию сценарий сборки называется makefile или Makefile.

Слайд 16


Сценарий сборки проекта цель: зависимость_1 ... зависимость_n [tab]команда_1 [tab]команда_2 ... [tab]команда_m
Описание слайда:
Сценарий сборки проекта цель: зависимость_1 ... зависимость_n [tab]команда_1 [tab]команда_2 ... [tab]команда_m

Слайд 17


Простой сценарий сборки greeting.exe : hello.o buy.o main.o gcc -o greeting.exe hello.o buy.o main.o test_greeting.exe : hello.o buy.o test.o gcc -o...
Описание слайда:
Простой сценарий сборки greeting.exe : hello.o buy.o main.o gcc -o greeting.exe hello.o buy.o main.o test_greeting.exe : hello.o buy.o test.o gcc -o test_greeting.exe hello.o buy.o test.o hello.o : hello.c hello.h gcc -std=c99 -Wall -Werror -pedantic -c hello.c buy.o : buy.c buy.h gcc -std=c99 -Wall -Werror -pedantic -c buy.c main.o : main.c hello.h buy.h gcc -std=c99 -Wall -Werror -pedantic -c main.c test.o : test.c hello.h buy.h gcc -std=c99 -Wall -Werror -pedantic -c test.c clean : rm *.o *.exe

Слайд 18


Использование переменных и комментариев Строки, которые начинаются с символа #, являются комментариями. Определить переменную в make-файле можно...
Описание слайда:
Использование переменных и комментариев Строки, которые начинаются с символа #, являются комментариями. Определить переменную в make-файле можно следующим образом: VAR_NAME := value Чтобы получить значение переменной, необходимо ее имя заключить в круглые скобки и перед ними поставить символ '$'. $(VAR_NAME)

Слайд 19


Использование переменных и комментариев # Компилятор CC := gcc # Опции компиляции CFLAGS := -std=c99 -Wall -Werror -pedantic # Общие объектные файлы...
Описание слайда:
Использование переменных и комментариев # Компилятор CC := gcc # Опции компиляции CFLAGS := -std=c99 -Wall -Werror -pedantic # Общие объектные файлы OBJS := hello.o buy.o greeting.exe : $(OBJS) main.o $(CC) -o greeting.exe $(OBJS) main.o test_greeting.exe : $(OBJS) test.o $(CC) -o test_greeting.exe $(OBJS) test.o

Слайд 20


Использование переменных и комментариев hello.o : hello.c hello.h $(CC) $(CFLAGS) -c hello.c buy.o : buy.c buy.h $(CC) $(CFLAGS) -c buy.c main.o :...
Описание слайда:
Использование переменных и комментариев hello.o : hello.c hello.h $(CC) $(CFLAGS) -c hello.c buy.o : buy.c buy.h $(CC) $(CFLAGS) -c buy.c main.o : main.c hello.h buy.h $(CC) $(CFLAGS) -c main.c test.o : test.c hello.h buy.h $(CC) $(CFLAGS) -c test.c clean : $(RM) *.o *.exe

Слайд 21


Автоматические переменные Автоматические переменные - это переменные со специальными именами, которые «автоматически» принимают определенные значения...
Описание слайда:
Автоматические переменные Автоматические переменные - это переменные со специальными именами, которые «автоматически» принимают определенные значения перед выполнением описанных в правиле команд. Переменная "$^" означает "список зависимостей". Переменная "$@" означает "имя цели". Переменная "$

Слайд 22


Автоматические переменные # Компилятор CC := gcc # Опции компиляции CFLAGS := -std=c99 -Wall -Werror -pedantic # Общие объектные файлы OBJS :=...
Описание слайда:
Автоматические переменные # Компилятор CC := gcc # Опции компиляции CFLAGS := -std=c99 -Wall -Werror -pedantic # Общие объектные файлы OBJS := hello.o buy.o greeting.exe : $(OBJS) main.o $(CC) $^ -o $@ test_greeting.exe : $(OBJS) test.o $(CC) $^ -o $@

Слайд 23


Автоматические переменные hello.o : hello.c hello.h $(CC) $(CFLAGS) -c $
Описание слайда:
Автоматические переменные hello.o : hello.c hello.h $(CC) $(CFLAGS) -c $

Слайд 24


Шаблонные правила %.расш_файлов_целей : %.расш_файлов_зав [tab]команда_1 [tab]команда_2 ... [tab]команда_m
Описание слайда:
Шаблонные правила %.расш_файлов_целей : %.расш_файлов_зав [tab]команда_1 [tab]команда_2 ... [tab]команда_m

Слайд 25


Шаблонные правила # Компилятор CC := gcc # Опции компиляции CFLAGS := -std=c99 -Wall -Werror -pedantic # Общие объектные файлы OBJS := hello.o buy.o...
Описание слайда:
Шаблонные правила # Компилятор CC := gcc # Опции компиляции CFLAGS := -std=c99 -Wall -Werror -pedantic # Общие объектные файлы OBJS := hello.o buy.o greeting.exe : $(OBJS) main.o $(CC) $^ -o $@ test_greeting.exe : $(OBJS) test.o $(CC) $^ -o $@ %.o : %.c *.h $(CC) $(CFLAGS) -c $

Слайд 26


Сборка программы с разными параметрами компиляции # Компилятор CC := gcc # Опции компиляции CFLAGS := -std=c99 -Wall -Werror -pedantic # Общие...
Описание слайда:
Сборка программы с разными параметрами компиляции # Компилятор CC := gcc # Опции компиляции CFLAGS := -std=c99 -Wall -Werror -pedantic # Общие объектные файлы OBJS := hello.o buy.o ifeq ($(mode), debug) # Отладочная сборка: добавим генерацию отладочной информации CFLAGS += -g3 endif ifeq ($(mode), release)

Слайд 27


Сборка программы с разными параметрами компиляции # Финальная сборка: исключим отладочную информацию и утверждения (asserts) CFLAGS += -DNDEBUG -g0...
Описание слайда:
Сборка программы с разными параметрами компиляции # Финальная сборка: исключим отладочную информацию и утверждения (asserts) CFLAGS += -DNDEBUG -g0 endif greeting.exe : $(OBJS) main.o $(CC) $^ -o $@ test_greeting.exe : $(OBJS) test.o $(CC) $^ -o $@ %.o : %.c *.h $(CC) $(CFLAGS) -c $

Слайд 28


Литература Черновик стандарта C99 Б. Керниган, Д. Ритчи Язык программирования С Артур Гриффитс, GCC: Настольная книга пользователей, программистов и...
Описание слайда:
Литература Черновик стандарта C99 Б. Керниган, Д. Ритчи Язык программирования С Артур Гриффитс, GCC: Настольная книга пользователей, программистов и системных администраторов. Различные циклы уроков (tutorials) по make (например,



Похожие презентации
Mypresentation.ru
Загрузить презентацию