sprawozdanie lab1.odt

(14 KB) Pobierz

Celem ćwiczenia było przypomnienie sposobów kompilacji programów pod systemem Linux oraz wykorzystania programu make.

 

Program make jest narzędziem pomocnym programiście. Pozwala on usprawnić proces kompilacji, debugowania czy nawet pomaga zachować porządek w plikach, na których operujemy. By skorzystać z dobrodziejstw jakie niesie ze sobą make, należy utworzyć plik reguł do wykonania. Plik taki musi nazywać się „Makefile”, a jego składnia powinna wyglądać następująco:

plik_wynikowe: pliki_składowe

              polecenie

 

moj_program: moj_program.o pomiar_czasu.o

        gcc -03 moj_program.o pomiar_czasu.o -o moj_program

 

Dzięki programowi make, jedną komendą możemy skompilować wiele plików i zlinkować je do naszego programu. W pliku Makefile możemy również tworzyć własne zmienne, które pomogą nam przy tworzeniu dodatkowych reguł. Często stosowane jest również umieszczenie pod etykietą clean funkcji rm, która po wywołaniu pozwala nam szybko sprzątnąć stare, skompilowane pliki oraz pliki pośrednie.

 

Biblioteki statyczne są plikami skompilowanymi. Załączanie tego typu plików pozwala programiście zaoszczędzić czas kompilacji. Oszczędność czasu kompilacji znaczyła wiele kiedyś. Obecnie przyspieszenie to nie jest w praktyce zauważalne przez użytkownika.

Biblioteka statyczna może zostać wykorzystana w współpracy między programistami. Pozwala ona na wykorzystanie funkcji składowych bez konieczności udostępniania kodu źródłowego.

 

Dla naszych potrzeb polecenie tworzenia biblioteki statycznej wyglądało następująco:

 

ar -rs libpomiar_czasu.a pomiar_czasu.o

 

Należało również pamiętać, żeby załączyć tą bibliotekę w procesie kompilacji naszego programu:

gcc moj_program.o -o moj_program -L. -lpomiar_czasu -lm

 

Do kompilacji naszych programów wykorzystaliśmy kompilator gcc. Jest to najpopularniejszy kompilator dla systemów Linux/Unix. Nasz program wykonywał 100 000 operacji arytmetycznych i 100 000 operacji I/O. Podczas operacji I/O była również wykonywana operacja inkrementacji gdyż  na ekran wypisywane były kolejne liczby z przedziału <-50 000, 50 000). Operacja arytmetyczna mno

Oto czasy uzyskane w pracowni komputerowej:

I/O – standard/cpu/zegar: 0.01 / 0.016 / 0.067

-/+ – stnadard/cpu/zegar:  0 / 0 / 0.000559

Oto czasy uzyskane po ponownym wykonaniu ćwiczenia w domu:

I/O – standard/cpu/zegar: 0.028 / 0.022 / 1.233

-/+ – stnadard/cpu/zegar:  0.000778 / 0.001 / 0.000784

 

Na podstawie tego prostego ćwiczenia zauważamy, że nawet operacja mnożenia liczb zmiennoprzecinkowych jest szybciej wykonywana niż operacje wejścia wyjśćia.

 

 

Zgłoś jeśli naruszono regulamin