Programowanie w C dr inż. Stanisław Wszelak
Przeszłość i przyszłość składni programowania w C Ken Thompson Denis Ritchie Bjarne Stoustrup Zespoły programistów B C C++ C# 1969 rok Do SO UNIX 1972 rok C++ 1979 rok Od 2003 roku C# jest językiem skonstruowanym niejako jako konkurencja dla Javy dr inż. Stanisław Wszelak 2
Cech języka C Czytelny posiada łatwy kod do odczytywania (zbliżony do języka angielskiego) Łatwy w obsłudze prosta kompilacja i uruchamianie Przenośny programy są uruchamiane na różnych typach maszynach sprzętowych, pod warunkiem posiadania kompilatora Język wysokiego poziomu wymaga interpretera i kompilatora, np. język maszynowy jest językiem niskiego poziomu. Do zaimplementowania, czyli przetłumaczenia komend na chociażby taki kod: 2001:f523:c91d:001 (kod binarny) wymagany jest kompilator. Interpreter i kompilator tłumaczą instrukcje napisane w języku wysokiego poziomu na polecenia w języku maszynowym, zrozumiałym i wykonalnym dla komputera dr inż. Stanisław Wszelak 3
Kompilacja Kompilator języka C jest programem, który tłumaczy kod źródłowy napisany przez programistę do języka asembler, a następnie do postaci zrozumiałej dla komputera (maszyny cyfrowej) czyli do postaci ciągu zer i jedynek które sterują praca poszczególnych elementów komputera. Asembler to język niskiego poziomu, posługuje się zaledwie dwoma znakami cyfrowymi, 0 i 1, Asembler nie potrzebuje specjalnego środowiska. Programista asemblerowy jest podobny do pierwszoklasisty, który konstruuje słowa, wyrazy, znając pojedyncze literki języka. O ile alfabet języka naturalnego, którym to posługujemy się na co dzień, składa się z kilku dziesiątek znaków, o tyle alfabet języka Asembler ma zaledwie dwa cyfrowe znaki:0 i 1, zero i jedynkę. Do napisania programu asemblerowego wystarczy najzwyklejszy edytor. Cała informatyka opiera się na dwóch znakach 0 i 1. Napisany program asemblerowy w postaci tekstowej, poddawany jest asemblacji (półprodukt) pliki o rozszerzeniu OBJ. Następnie ów półprodukt przetwarza się do postaci wykonywalnej poprzez konsolidację (linkowanie). Po konsolidacji otrzymujemy gotowy do wykonania program typu COM lub EXE. Programy źródłowe napisane w języku C, C++ tłumaczy się do postaci programów wykonywalnych i kompilując się je. dr inż. Stanisław Wszelak 4
Narzędzia programisty w C 1. Komputer z dowolnym systemem operacyjnym (Linux, Windows) 2. Kompilator (firmy Borland, Microsoft Visual C++ R, itd.) 3. Edytor 4. Debugger (program, który umożliwia prześledzenie (określenie wartości poszczególnych zmiennych na kolejnych etapach wykonywania programu) linijka po linijce. Używa się go w celu określenia czemu nasz program nie działa po naszej myśli lub czemu program niespodziewanie kończy działanie bez powodu. Przykładowymi debuggerami sa: gdb pod Linuksem, lub debugger firmy Borland pod Windowsa. 5. Linker - program łączy wszystkie skompilowane pliki źródłowe i inne funkcje (np. printf, scanf) które były użyte w programie, a nie były zdefiniowane przez programistę w napisanych plikach ( dyrektywa #include). Linker jest to czasami jednym program, połączenie z kompilatorem. Wywoływany jest on na ogół automatycznie przez kompilator, w wyniku czego dostajemy gotowy program do uruchomienia. dr inż. Stanisław Wszelak 5
Zintegrowane Środowisko Programistyczne IDE Zamiast osobnego kompilatora i edytora, linkier, można wybrać Zintegrowane Środowisko Programistyczne IDE (Integrated Development Environment), IDE jest zestawem wszystkich programów, które potrzebuje programista, - najczęściej z interfejsem graficznym. IDE zawiera kompilator, linker i edytor, z reguły również debugger. Bardzo popularny IDE to płatny Microsoft Visual C++ (Visual Studio 2005, 2010) Typy: IDE free software IDEE commercial software dr inż. Stanisław Wszelak 6
1. Blocks 8.02 z MinGW 4.2.1 Darmowe IDE Code::Blocks to wieloplatformowe IDE dla programistów C/C++. Wspiera wiele kompilatorów (GCC, Borland C++, Microsoft Visual C++ i inne). Posiada wbudowany, zaawansowany i wydajny debugger. Ponadto, umożliwia importowanie projektów z Dev-C++ oraz Microsoft Visual C++. Interfejs: - prosty w obsłudze, - rozbudowana pomoc ułatwia używanie programu, - kolorowana składnia, - automatyczne uzupełnianie w trakcie pisania kodu. Elastyczna budowa pozwala na dodawanie pluginów, sprawiając, że środowisko jest stale rozwijane przez dużą społeczność. dr inż. Stanisław Wszelak 7
2. Open Watcom 1.9 (80 MB) Środowisko programistyczne do tworzenia 16/32 bitowych aplikacji. Obsługa C, C++, Fortran. Posiada rozbudowany zbiór narzędzi co jest jest dużym plusem Open Watcom. 3. Dev-C++ 4.9.9.2 Dev-C++ zintegrowane środowisko programistyczne, obsługujące języki C i C++, na licencji GPL, dla systemów rodziny Windows i Linux. Jest zintegrowany z MinGW, czyli z windowsowym portem kompilatora GCC. Dev-C++ wykorzystuje tzw. DevPaki. Są to rozszerzenia programu, pozwalające mu korzystać z różnych bibliotek, szablonów i narzędzi, np. z DirectX-a, z biblioteki Allegro, OpenAL czy wxwidgets. Dla : Win XP/Windows Vista/Win 2000/Win 98/Win Me/Win 95 Wymagania: Procesor: Pentium 233MHz lub odpowiednik; RAM: 32MB; 45MB wolnego miejsca na dysku Rozmiar pliku: 8.9MB dr inż. Stanisław Wszelak 8
4. Code::Blocks Studio np. wersja 10.05 Zintegrowane środowisko programistyczne (IDE) umożliwiające tworzenie aplikacji w języku C i C++ przeznaczonych na platformę Windows i Linux. Wśród wielu zalet Code::Blocks Studio można wymienić obsługę kilku kompilatorów (GCC, MSVC++, Digital Mars, Borland C++ 5.5 i Open Watcom) oraz możliwość importu przygotowywanych projektów w programie Dev-C++. Dodatkową zaletą aplikacji jest możliwość poszerzenia narzędzi poprzez ogólnodostepne wtyczki. Można pisać własny plugin, ponieważ autorzy udostępnili na swojej stronie odpowiednie kody źródłowe, SDK. Można zarządzać kilkoma plikami na raz dzięki zastosowaniu tak zwanych paneli, w których poruszanie się jest podobne jak w przeglądarkach internetowych. Poza tym Code::Blocks Studio: -koloruje składnie, -wyświetla w czasie rzeczywistym podpowiedzi dotyczące funkcji. dr inż. Stanisław Wszelak 9
5. C++ Builder Obecnie dostępna jest wersja 2007 tego środowiska w kilku edycjach. 30-dniowa wersja testowa: Trial przeznaczona jest do zastosowań niekomercyjnych (przede wszystkim edukacyjnych), można ją pozyskać bezpłatnie. Aktualnie jest wersja 2010 dr inż. Stanisław Wszelak 10