Cоздать программу вывода на экран константной строки (5-10 символов). Создать исполняемый файл из программы консольным компилятором cc в один этап, запустить и проверить корректность работы. Быть готовым продемонстрировать одноэтапный процесс создания исполняемого файла.
Создать исполняемый файл из программы в 3 отдельных этапа: препроцессинг, компиляция, сборка. Каждый последующий этап должен использовать результаты работы предыдущего. Препроцессор cpp получает на вход файл с исходным кодом программы, на выходе генерирует исходный код с раскрытыми директивами препроцессора. Компилятор cc получает на вход результат работы препроцессора и генерирует объектный файл с машинным кодом и расширением .o. Сборщик ld получает на вход результат работы компилятора, вспомогательные объектные файлы, генерирующие точку входа в программу (/usr/lib64/crt1.o) секцию инициализации (/usr/lib64/crti.o) и секцию завершения (/usr/lib64/crtn.o) программы, подключает стандартную библиотеку Си libc.so опцией -lc и применяет механизм динамической сборки опцией -I/lib64/ld-linux-x86-64.so.2. Результат работы сборщика - исполняемый файл, которые следует запустить и убедится в корректности его работы. Быть готовым продемонстрировать трехэтапный процесс создания исполняемого файла.
(30)Разработать программу с использованием функций getchar для чтения и putchar - для вывода данных. Буфер чтения опционален.
(10)Разработать программу с использованием функций scanf для чтения и printf - для вывода данных. Буфер чтения опционален.
(20)Разработать программу с использованием функций fgets для чтения и fputs - для вывода данных. В качестве файловых переменных использовать предопределенные переменные stdin и stdout. Буфер чтения обязателен. Размер буфера фиксируется константой. При проверке решения преподаватель может изменять значение константы в пределах, заявленных в условии задачи.
Быть готовым к разъяснению исходного кода каждой разработанной программы в отсутствии комментариев.
Для проверки можно воспользоваться программой gen (создание строки-выражения), и программой getputc (рассчет выражения, безбуферный, getchar и putchar). После загрузки программам следует установить бит исполняемости для обеспечения возможности их запуска. Программы можно запускать как по отдельности, так и в конвеере, например: ./gen 5 | ./getputc. Программы предназначены для запуска в терминале ОС Linux, на узле с архитектурой x86-64.