J.NAWROCKI, M. ANTCZAK, H. ĆWIEK, W. FROHMBERG, A. HOFFA, M. KIERZYNKA, S. WĄSIK WPROWADZENIE DO INFORMATYKI PROGRAMOWANIE IMPERATYWNE ŚRODOWISKO URUCHOMIENIOWE I. INSTALACJA I KONFIGURACJA ECLIPSE CDT Szczegółowa instrukcja instalacji i konfiguracji znajduje się w pliku 09cw2-imperat-EclipseCDT.pdf dostępnym pod adresem: http://www.cs.put.poznan.pl/mantczak/teaching/itc/10cw2-imperat-eclipsecdt.zip II. INSTALACJA I KONFIGURACJA DEVCPP 1. INSTALACJA ŚRODOWISKA PROGRAMISTYCZNEGO DEV-C++ W katalogu "CUnitPowerPack\install" znajduje się plik devcpp-4.9.9.2_setup.exe, który jest instalatorem środowiska programistycznego Dev-C++ 5.0 beta 9.2 (4.9.9.2) wraz z kompilatorem Mingw/GCC 3.4.2. Uruchamiamy plik instalatora. 1. Wybieramy język angielski w celu uniknięcia problemów z polskimi diakrytykami. 2. Zatwierdzamy licencję :). 1
3. Wybieramy rodzaj instalacji Custom i zaznaczamy dodatkowo opcję Remove all previous configuration files. 4. Wybieramy folder instalacji ścieżka nie może zawierać znaków spacji i rozpoczynamy instalację przyciskiem Install. 5. Po zainstalowaniu wymaganych plików decydujemy czy środowisko Dev-C++ ma być dostępne dla wszystkich użytkowników danego komputera. 6. Kończymy instalację uruchamiając środowisko Dev-C++. 7. W oknie Beta version Notice system informuje nas, gdzie będą przechowywane nasze pliki konfiguracyjne. Zatwierdzamy zapoznanie się z powyższą informacją. 2
8. Wybieramy wygląd naszego środowiska i przechodzimy dalej. 9. System zapyta nas czy chcemy, korzystać z podpowiedzi systemu dotyczących możliwych do wykorzystania w danym momencie funkcji, parametrów i atrybutów. Bardzo pomocna funkcjonalność dla początkującego programisty. 10. Aby przyspieszyć działanie środowiska można wykorzystać funkcjonalność pozwalającą na załadowanie bazowych plików nagłówkowych do pamięci. 3
11. Czekamy na zakończenie procesu pierwszej konfiguracji środowiska i potwierdzamy jego uruchomienie. 2. KONFIGURACJA ŚRODOWISKA PROGRAMISTYCZNEGO DEV-C++ Z menu głównego wybieramy Tools -> Compiler Options. Przechodzimy na zakładkę Settings. Ustawiamy następujące opcje w C Compiler, Code Generation i Linker zgodnie z poniższymi zrzutami ekranowymi. Pozostałe opcje zostawiamy bez zmian. 4
3. TWORZENIE PROJEKTU W DEV-C++ Wskazówka: W celu ułatwienia zarządzania projektami proponuje się w katalogu głównym środowiska programistycznego utworzenie katalogu np.: projects, który zawierać będzie wszystkie tworzone projekty. Dodatkowo powinno się również dla każdego nowego projektu utworzyć osobny podkatalog katalogu np.: projects, którego zadaniem będzie przechowywanie wszystkich plików związanych z danym projektem. 1. W celu utworzenia nowego projektu wybieramy File -> New -> Project... 2. W oknie New project wybieramy Console Application, zaznaczamy pole wyboru C Project oraz podajemy nazwę projektu w polu Name i zatwierdzamy konfigurację projektu za pomocą przycisku OK. 3. System poprosi użytkownika o podanie miejsca docelowego, w którym ma zostać zapisany nowo utworzony plik projektu. 4. Domyślnie zostanie utworzony plik main.c zawierający funkcję główną programu, który niestety nie istnieje fizycznie na dysku należy go zapisać. Po naciśnięciu Ctrl+S system poprosi o wskazanie miejsca docelowego, w którym ten plik ma zostać zapisany domyślnie jest to wskazany wcześniej katalog projektu. 5. W celu skompilowania projektu można wykorzystać kombinację klawiszy funkcyjnych Ctrl+F9, a uruchomienia projektu kombinację Ctrl+F10. 4. MODYFIKOWANIE OPCJI PROJEKTU W DEV-C++ Naciśnięcie klawiszy funkcyjnych Alt+P spowoduje, że pojawi się okno, w którym można modyfikować podstawowe opcje obecnie otwartego projektu. 5
Na powyższym zrzucie ekranowym widzimy, że opcje te składają się z wielu zakładek. Zakładki istotne z punktu widzenia wykorzystywanych przez nas bibliotek to Parameters, Makefile i Build options. ZAKŁADKA PARAMETERS W przypadku korzystania z biblioteki pozwalającej na tworzenie testów jednostkowych w oknie Linker wymagana jest opcja -lcunit_mingw. 6
ZAKŁADKA MAKEFILE Plik Makefile jest to zbiór reguł dla kompilatora, wykorzystywanych podczas kompilacji programu. Domyślnie plik ten jest generowany automatycznie. Wykorzystanie dodatkowych bibliotek powoduje, że automatyczna generacja tego pliku nie jest już wystarczająca dla poprawnego kompilowania i uruchamiania projektu. 1. Domyślnie opcja Use custom Makefile... nie jest zaznaczona. 2. Zaznaczenie powyższej opcji powoduje konieczność wskazania pliku Makefile, który zostanie wykorzystany podczas kompilacji programu. 7
ZAKŁADKA BUILD OPTIONS W celu zmiany domyślnego pliku wykonywalnego w projekcie na inny zdefiniowany przez użytkownika należy zaznaczyć pole wyboru Override output filename znajdujące się na poniżej przedstawionej zakładce oraz podać jego nazwę. 8
III. TURBO C COMPILER & SAMPLE PROJECT 1) Pobrać plik TC.zip (Turbo C Compiler) (http://www.cs.put.poznan.pl/mantczak/teaching/itc/tc.zip). 2) Rozpakować powyższe archiwum w katalogu roboczym (na zajęciach najprawdopodobniej C:\Temp). 3) Ważne pliki i katalogi wykorzystywane podczas kompilacji: a) katalog \TC\Projects zawiera przykładowy projekt mymain oraz plik blank.c; służy jako repozytorium rozwiązań poniższych zadań, b) plik \TC\Projects\blank.c jest uogólnionym wzorcem prostego programu napisanego w języku C; jego zawartość będzie się powtarzać we wszystkich rozwiązaniach poniższych zadań, #include <stdio.h> #include <stdlib.h> // standardowe biblioteki void main() { // główna funkcja programu system("pause"); // program przed zakończeniem oczekuje } // na naciśnięcie dowolnego klawisza c) \TC\clean.bat służy do usuwania plików z rozszerzeniami *.bak, *.obj, *.exe z wszystkich podkatalogów katalogu Project, d) \TC\make.bat służy do kompilowania przygotowanego programu; jako parametr należy podać nazwę projektu reprezentującego przygotowany program. 9
4) Tworzenie nowego projektu (np.: mymain) a) utworzenie nowego podkatalogu o nazwie reprezentowanej przez nazwę projektu (np.: mymain) w katalogu \TC\Projects, b) przekopiowanie do nowo utworzonego katalogu pliku blank.c i zmienienie jego nazwy na nazwa_projektu.c (np.: mymain.c); jeżeli nazwy katalogu i pliku źródłowego będą różne wówczas kompilacja z użyciem make.bat zakończy się niepowodzeniem. c) w celu skompilowania napisanego programu należy uruchomić konsolę systemową w katalogu \TC\; następnie należy wpisać polecenie kompilacji w postaci: make.bat mymain d) w rezultacie w katalogu projektu pojawią się pliki z rozszerzeniami *.obj i *.exe. 5) Edytor Turbo C a) w katalogu \TC znajduje się plik TC.exe, który jest przykładem bardzo prostego edytora pozwalającego na implementowanie programów w języku C. Aby uruchomić program wystarczy dwukrotnie nacisnąć lewym przyciskiem myszy na powyżej przytoczoną nazwę pliku. Po uruchomieniu edytora domyślnie pojawia się okno pozwalające implementować kod w pliku o nazwie NONAME.C. W celu przejścia w tryb edycji pliku należy wykorzystać przycisk Enter. b) w celu poprawnego kompilowania i uruchamiania programów należy po uruchomieniu edytora ustawić podstawowe opcje środowiska: i) ścieżkę dostępu do katalogu zawierającego pliki nagłówkowe bibliotek (Include directories), ii) ścieżkę dostępu do katalogu zawierającego biblioteki (Library directories), iii) ścieżkę dostępu do katalogu głównego środowiska (Turbo C directory). 10
c) aby otworzyć nowy (pusty) plik źródłowy należy skorzystać z menu File->New. d) aby wczytać plik z kodem źródłowym programu należy skorzystać z menu File->Load (skrót klawiszowy: F3). (1) e) w celu zapisania dokonanych modyfikacji aktualnie otwartego kodu źródłowego programu należy skorzystać z menu File->Save (skrót klawiszowy: F2). f) aby zbudować plik wykonywalny tworzonego programu należy skorzystać z menu Compile->Build all. g) w celu uruchomienia pliku wykonywalnego programu należy skorzystać z menu Run->Run (skrót klawiszowy: Ctrl+F9). h) aby zamknąć edytor należy skorzystać z menu File->Quit (skrót klawiszowy: Alt+X). 6) Uwagi a) nazwa projektu nie powinna być dłuższa niż 8 znaków, ponieważ kompilator będzie sygnalizował problem ze znalezieniem właściwego pliku, b) nie wykorzystywać komentarzy postaci // w kodzie programu, c) unikać nazywania projektu i wykorzystywanych funkcji w ciele programu w ten sam sposób, 11
d) nie nazywać własnych funkcji nazwami podstawowych funkcji bibliotecznych, e) w kilku programach należy wykorzystać bibliotekę math (poprzez dodanie w kodzie źródłowym deklaracji #include <math.h>, f) pamiętać o deklarowaniu wszystkich niestandardowych bibliotek przed ich użyciem w programie. 12