NetNado
  Найти на сайте:

Учащимся

Учителям



Отчет по лабораторной работе №2 по дисциплине «Операционные системы»


ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
Государственное образовательное учреждение высшего профессионального образования
«ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
Факультет автоматики и вычислительной техники
Кафедра ВТ



Отчет по лабораторной работе №2

по дисциплине «Операционные системы»
Знакомство с техникой компиляции программ на языке программирования C(C++) в среде ОС семейства UNIX


Выполнил:

студент гр. 8В53

Сидоров А. О.
Проверил:

доцент каф. ВТ

Шерстнев В.С.

Томск 2008

Цель работы

Ознакомиться с техникой компиляции программ на языке программирования C (C++) в среде ОС Unix, а также получить практические навыки использования утилиты GNU MAKE для сборки проекта.
Ход работы

  1. Ознакомился с теоретическим материалом

  2. Создал простейшую программу на 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);


  1. Для автоматизации сборки проекта был создан простейший 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


  1. Программа была скомпилирована путем использования команды make:




  1. Был изменен файл main.cpp, а затем произведена повторная компиляция:



Файл secondary.cpp не был перекомпилирован.


  1. Был создан 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


скачать

Другие похожие работы: