rodowisko Dev-C++: RODOWISKO DEV-C++ - produkcja: Bloodshed Software - internet: www.bloodshed.net - licencja: Free Software distributed under the GNU General Public License - wersja: 5.0 beta 9.2 (4.9.9.2) (9.0 MB) with Mingw/GCC 3.4.2 - download: http://prdownloads.sourceforge.net/dev-cpp/devcpp- 4.9.9.2_setup.exe Wymagania sprz towe (minimalne): - Microsoft Windows 95, 98, NT 4, 2000, XP - 8 MB RAM with a big swapfile - 100 MHz Intel compatible CPU, 30 MB free disk space Wymagania sprz towe (zalecane): - Microsoft Windows 2000, XP - 32 MB RAM - 400 MHz Intel compatible CPU, 200 MB free disk space Domy lna instalacja: - ok. 60 MB Wybrane cechy: - rodowisko typu IDE (ang. Integrated Development Environment) dla j zyka C/C++, - umo liwia stworzenie programów typu: - Windows application - program dla systemu Windows wykorzystuj cy Win32 API, - Console application - program uruchamiany w konsoli (oknie tekstowym), - Static library - biblioteka statyczna, - DLL - biblioteka dynamiczna (ang. Win32 Dynamic Link Library), - polskoj zyczne menu. Strona 1 z 9
Okno główne programu 1 2 3 4 5 6 1 - Menu główne programu 2 - Paski narz dzi (Główny, Edycja, Przeszukiwanie, Projekt, Kompilowanie i uruchamianie, Opcje, Dodatki, Klasy) 3 - Przegl darka projektu / klas 4 - Edytor 5 - Pasek Zakładek 6 - Pasek stanu Przebieg kompilacji programu: *.C *.CPP kompilator ang. compiler *.OBJ *.O konsolidator ang. linker *.EXE plik ródłowy kompilacja - przetłumaczenie instrukcji j zyka C/C++ na j zyk wewn trzny komputera skompilowana posta pliku ródłowego ł czenie (ang. linking) - poł czenie modułów *.OBJ w plik *.EXE plik wykonywalny Strona 2 z 9
Menu główne programu: - zawiera wszystkie polecenia programu, - dost p do wybranych pozycji w menu mo liwy jest tak e poprzez przyciski na pasku narz dzi, skróty klawiszowe (ang. hot keys) i menu kontekstowe. Paski narz dzi: - zawieraj najcz ciej wywoływane polecenia programu. Główny: Projekt... - stworzenie nowego projektu, Otwórz projekt lub plik... (Ctrl+O) - otwarcie istniej cego pliku lub projektu, Plik ródłowy (Ctrl+N) - stworzenie nowego pustego pliku i ewentualne dodanie go do projektu - nowy plik otrzymuje domy lnie nazw BezNazwyx, gdzie x jest kolejnym numerem, Zapisz (Ctrl+S) - zapisanie edytowanego pliku, Zapisz wszystko - zapisanie wszystkich otwartych plików, Zamknij (Alt+F4) - zamkni cie edytowanego pliku, Drukuj (Ctrl+P) - wydrukowanie edytowanego pliku. Edycja: Cofnij (Ctrl+Z) - cofni cie ostatniej operacji edytorskiej, Powtórz (Shift+Ctrl+Z) - powtórzenie ostatniej operacji edytorskiej. Przeszukiwanie: Znajd (Ctrl+F) - wyszukanie ci gu znaków, Zamie (Ctrl+R) - wyszukanie i zamiana ci gu znaków, Szukaj ponownie (F3) - ponowne szukanie ci gu znaków, Przejd do wiersza... (Ctrl+G) - przej cie w edytowanym pliku do wiersza o podanym numerze. Strona 3 z 9
Projekt: Dodaj do projektu - dodanie istniej cego pliku do projektu, Usu z projektu - usuni cie pliku z projektu, Opcje projektu (Alt+P) - wy wietlenie opcji projektu. Kompilowanie i uruchamianie: Kompiluj (Ctrl+F9) - kompilacja programu, Uruchom (Ctrl+F10) - uruchomienie wcze niej skompilowanego programu, Kompiluj i uruchom (F9) - kompilacja i uruchomienie programu, Przebuduj wszystko (Ctrl+F11) - ponowna kompilacja wszystkich plików tworz cych projekt, Odpluskwiaj (F8) - uruchomienie odpluskwiania programu. Opcje: Indeks pomocy Dev-C++ - uruchomienie systemu pomocy, O Dev-C++... - wy wietlenie informacji o programie. Dodatki: Zawiera cztery opcje: - Plik ródłowy (Ctrl+N), - Projekt, - Plik zasobów, - Szablon... Zawiera dwie opcje: - Data/Czas - wstawia do pliku ródłowego aktualn dat i czas w postaci: dd-mm-yy hh:mm, - Komentarz nagłówkowy - wstawia do pliku ródłowego nagłówek zawieraj cy pola: Name, Copyright, Author, Date, Description, Umo liwia zdefiniowanie w pliku ródłowym do 9 zakładek, Umo liwia przej cie do wcze niej zdefiniowanych zakładek. Strona 4 z 9
Przegl darka projektu / klas: - zawiera trzy zakładki: Projekt, Klasy, Odpluskwiacz. Zakładka Projekt Zakładka Klasy Zakładka Odpluskwiacz Zakładka Projekt: - zawiera list wszystkich plików tworz cych projekt (je li projekt nie został stworzony, to zakładka ta jest pusta), - klikni cie nazwy pliku na li cie powoduje otwarcie go w edytorze. Zakładka Klasy: - zawiera list klas, struktur, funkcji i zmiennych globalnych zdefiniowanych w programie, - klikni cie wybranej nazwy powoduje przeniesienie w edytorze kursora do miejsca deklaracji wybranego elementu. Zakładka Odpluskwiacz: - w zakładce tej wy wietlane s warto ci zmiennych obserwowanych podczas odpluskwiania programu. Edytor: - umo liwia jednoczesn edycj kilku plików ródłowych, ka dy plik wy wietlany jest na oddzielnej zakładce, - umo liwia wykonywanie typowych operacji edytorskich, np. zaznaczanie, wycinanie, kopiowanie, zast powanie tekstu, Strona 5 z 9
- wy wietla kod ródłowy odpowiednio koloruj c go (np. słowa kluczowe j zyka C s pogrubione, ła cuchy znaków maj kolor czerwony za dyrektywy preprocesora - zielony), - je li edytowany plik zmienił si, ale nie został zapisany na dysku, to przed nazw pliku pojawia si symbol [*]. Kompilator: - wy wietla list bł dów, które wyst piły podczas kompilacji programu. Log kompilacji: - wy wietla przebieg kompilacji programu zawieraj cy wszystkie wywoływane polecenia. Odpluskwiacz: - zawiera polecenia wykorzystywane podczas odpluskwiania programu. Strona 6 z 9
Wyniki poszukiwa : - zawiera wyniki poszukiwa wyra e, ale tylko wtedy, gdy dotyczy ono kilku plików. Pasek stanu: Liczba wierszy w edytowanym pliku Wstaw / Nadpisz - tryb edycji (Wstawianie / Nadpisywanie) Pojawienie si słowa Modyf. oznacza, e edytowany plik zmienił si, ale nie został zapisany na dysku Pozycja kursora w edytowanym pliku (numer wiersza i numer kolumny) Przykład najprostszego programu w j zyku C #include <stdio.h> int main() { printf( Witaj swiecie\n ); } return (0); Strona 7 z 9
Program w j zyku C Program w j zyku C jest to niesformatowany plik tekstowy o odpowiedniej składni maj cy rozszerzenie.c. Najprostszy program ma nast puj c posta : Przykład 1 (program wy wietlaj cy na ekranie tekst: Witaj swiecie ) typ warto ci zwracanej przez funkcj dyrektywa preprocesora #include <stdio.h> int main() { } nazwa pliku nagłówkowego nazwa funkcji lista argumentów przekazywanych do funkcji warto zwracana printf( Witaj swiecie\n ); return (0); instrukcja przez funkcj instrukcja nagłówek funkcji ciało funkcji Program w j zyku C składa si z funkcji i zmiennych. Funkcje zawieraj instrukcje okre laj ce wykonywane operacje, za zmienne przechowuj warto ci wykorzystywane podczas tych operacji. Powy szy program składa si z jednej funkcji (main), nie ma w nim natomiast zmiennych. Funkcja main składa si z dwóch instrukcji: printf i return. Ka da instrukcja zako czona jest rednikiem. W programie mo e by zdefiniowanych wi cej funkcji, ale zawsze musi istnie funkcja o nazwie main, gdy pełni ona szczególna rol w programie - od pocz tku tej funkcji rozpoczyna si wykonanie całego programu. Funkcja w j zyku C rozpoczyna si od nagłówka funkcji (pierwszy wiersz). Zawarto funkcji ograniczona jest nawiasami klamrowymi: {, } i nazywana jest ciałem funkcji. Nagłówek funkcji i ciało funkcji tworz definicj funkcji. J zyk C rozró nia wielko liter, zatem nazw funkcji main nie mo emy zapisa jako, np. Main lub MAIN. Podobnie jest z nazwami pozostałych funkcji i słów kluczowych j zyka C. Zazwyczaj w programie poza funkcj main wyst puj inne funkcje - mog to by funkcje napisane przez nas lub funkcje pochodz ce z bibliotek. W powy szym programie do wy wietlenia tekstu wykorzystywana jest funkcja o nazwie printf. Skorzystanie z tej funkcji wymaga doł czenia do naszego programu informacji o bibliotece, w której funkcja ta została zdefiniowana. Słu y do tego pierwsza linia programu: #include <stdio.h>. stdio.h jest to standardowa biblioteka wej cia/wyj cia (ang. standard input/output library). Funkcj wywołuje si podaj c jej nazw (printf) i (w nawiasach zwykłych) list argumentów przekazywanych do funkcji ( Witaj swiecie\n ). W powy szym przykładzie do funkcji main nie s przekazywane adne argumenty, informuj o tym puste nawiasy - ( ). Ci g znaków uj ty w cudzysłowu nazywa si stał napisow (napisem, ła cuchem znaków). W powy szym ła cuchu znaków na samym ko cu wyst puje sekwencja \n - reprezentuje ona znak nowego wiersza (jest to jeden znak). Inaczej mówi c powoduje ona przerwanie wypisywania tekstu w bie cym wierszu i wznowienie wypisywania od lewego marginesu w nast pnym wierszu. Strona 8 z 9
Przykłady: printf( Witaj swiecie\n ); Witaj swiecie _ printf( Witaj\nswiecie\n ); Witaj swiecie _ printf( Witaj ); printf( swiecie ); printf( \n ); Witaj swiecie _ Sposób zapisu kodu programu wpływa tylko na jego przejrzysto, a nie na wykonanie. W tym celu w programie wyst puj dodatkowe spacje przed funkcj printf i słowem kluczowym return. Powy szy program mo na zapisa tak e tak: #include<stdio.h> int main(){printf( Witaj swiecie\n );return(0);} Kompilacja programu Kodu programu nie mo na wykona, nale y go wcze niej skompilowa do postaci zrozumiałej dla komputera. Proces kompilacji programu składa si z kilku etapów. Najcz ciej s one niezauwa alne dla programisty. Etapy 1-4 nazywane były wcze niej kompilacj. 1. Prekompilacja (ang. preprocessing) - stworzenie ostatecznego tekstu programu ródłowego przez doł czenie plików wskazanych dyrektyw #include, wykonanie podstawie #define i opcjonalne usuni cie komentarzy. (*.c *.c) 2. Kompilacja do kodu asemblera (ang. compilation) - kompilator przegl daj c kod ródłowy programu wyszukuje słowa kluczowe i operatory, przekształca je na wewn trzn reprezentacj, która nast pnie jest przekształcana na kod asemblera. (*.c *.s) 3. Optymalizacja kodu asemblera (ang. optimization) - zmiana kodu asemblera w celu zwi kszenia jego efektywno ci. Modyfikacje te polegaj na: zmianie sposobu obliczania adresów wzgl dnych, eliminacji nieu ywanych fragmentów kodu, optymalizacji przydziału rejestrów. Ten etap kompilacji jest opcjonalny. (*.s *.s) 4. Asemblacja (ang. assembly) - przetworzenie kodu asemblera w relokowalny kod w j zyku maszynowym. Instrukcje w tym kodzie nie odnosz si jeszcze do konkretnych adresów w pami ci. Kod umieszczany jest w pliku obiektowym (ang. object file - pliki z rozszerzeniem.o lub.obj). (*.s *.o) 5. Konsolidacja (ang. link editing) - konsolidator (ang. link editor - linker) dokonuje szeregu operacji w celu stworzenia pliku binarnego z kodem wykonywalnym (*.o *.exe): - przeszukanie standardowego zestawu bibliotek oraz bibliotek wskazanych w linii wywołania w celu doł czenia do programu kodu funkcji niezdefiniowanych w modułach stworzonych przez u ytkownika (np. funkcji printf), - przypisanie kodu maszynowego do ustalonych adresów, np. zmienne globalne otrzymuj konkretne adresy tak, aby mo na było odwoływa si do ich warto ci, - utworzenie wykonywalnego pliku binarnego. Strona 9 z 9