Факультет О Естественнонаучный
шифр Наименование
Информационные системы и программная
Кафедра О7 инженерия
шифр Наименование
Дисциплина Компьютерный практикум
Лабораторная работа №1
на тему
«Командная строка и особенности использования набора
компиляторов и утилит GCC»
Вариант 7
Преподаватель
Садырова А. К.
Фамилия И.О. Подпись
Оценка
«_____» 2022 г.
Санкт-Петербург
2022 г.
Задания к лабораторной работе
Часть I
1. Написать программу 1 в соответствии с вариантом при помощи
любого текстового редактора.
2. Провести поэтапную компиляцию исходного текста написанной
программы, разобраться в результатах, полученных на каждом этапе
компиляции.
3. Провести оптимизацию кода написанной программы с помощью
набора компиляторов GCC, пояснить внесенные для оптимизации кода
изменения.
Часть II
4. Написать программы 2 и 3 в соответствии с вариантом при помощи
любого текстового редактора. Функции для работы с массивом вынести в
отдельные файлы: в одном файле описать функции для ввода/вывода
массива, в другом – для обработки массива. В обеих программах должны
использоваться одни и те же функции для ввода/вывода массивов, описанные
в одном из этих файлов.
5. Провести раздельную компиляцию написанных файлов.
6. Скомпилировать обе программы, используя созданные объектные
файлы, обе программы должны использовать один и тот же объектный файл
с функциями для ввода/вывода массива.
7. Создать статическую библиотеку для ввода/вывода и обработки
массива и продемонстрировать возможности по ее подключению.
1. Поэтапная компиляция
Применив команду показанную на рис. 1, создадим файл 1try.i,
содержащий исходный текст, обработанный препроцессором. В данный файл
будет добавлено содержимое заголовочных файлов, удалены комментарии и
раскрыты макросы.
2. Оптимизация кода
4 1,2,4
9 1,3,9
Файл «Scan.c»
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include “2.h”
2. Раздельная компиляция
С помощью команд на рис. 7 компилируем исходный файлы в
объектные файлы.
Файл «Worl.c»
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include "2.h"
}
if (j==0)
{
printf("There is no negative numbers");
}
else
{
for(i=0;i<size;i++)
printf("%d\n ",a[i]);
system("pause");
return 0;
}
1. Раздельная компиляция
С помощью команд на рис. 10 компилируем исходный файлы в
объектные файлы.