Отчет по лабораторной работе №2 по дисциплине «Операционные системы»
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
Государственное образовательное учреждение высшего профессионального образования
«ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
Факультет автоматики и вычислительной техники
Кафедра ВТ
Отчет по лабораторной работе №2
по дисциплине «Операционные системы»
Знакомство с техникой компиляции программ на языке программирования C(C++) в среде ОС семейства UNIX
Выполнил:
студент гр. 8В53
Сидоров А. О.
Проверил:
доцент каф. ВТ
Шерстнев В.С.
Томск 2008
Цель работы
Ознакомиться с техникой компиляции программ на языке программирования C (C++) в среде ОС Unix, а также получить практические навыки использования утилиты GNU MAKE для сборки проекта.
Ход работы
Ознакомился с теоретическим материалом
Создал простейшую программу на C++, состоящую из 2 файлов с исходным кодом (main.cpp и secondary.cpp) и 1 заголовочного файла (secondary.h):
main.cpp:
#include
#include "secondary.h"
using namespace std;
int main()
{
cout << sum(5, 6);
return 0;
}
secondary.cpp:
int sum(int i, int j)
{
return i + j;
}
secondary.h:
int sum(int i, int j);
Для автоматизации сборки проекта был создан простейший make-файл:
myProgram: main.o secondary.o
g++ main.o secondary.o -o myProgram
main.o: main.cpp
g++ -c main.cpp
secondary.o: secondary.cpp
g++ -c secondary.cpp
Программа была скомпилирована путем использования команды make:
Был изменен файл main.cpp, а затем произведена повторная компиляция:
Файл secondary.cpp не был перекомпилирован.
Был создан make-файл с высоким уровнем автоматизированной обработки исходных файлов программы.
makefile:
sourceDir := src
binaryDir := bin
searchWildcardsList := $(addsuffix /*.cpp,$(sourceDir))
myProgram: $(notdir $(patsubst %.cpp,%.o,$(wildcard $(searchWildcardsList))))
g++ $^ -o $(binaryDir)/$@
rm *.o
rm *.d
VPATH := $(sourceDir)
%.o: %.cpp
g++ -c -MD $(addprefix -I ,$(sourceDir)) $<
include $(wildcard *.d)
Т. о. исходные файлы хранятся в папке src, исполняемый файл - в папке bin, а makefile – в корне.
Выводы
В ходе выполнения лабораторной работы я ознакомился с техникой компиляции программ на языке программирования C++ в среде семейства Unix, а также получил практические навыки использования утилиты GNU Make для сборки проекта.
страница 1
скачать
Другие похожие работы: