Środowisko programisty/Wprowadzenie do C
Skąd wziąć kompilator języka C
Do pisania programów w C potrzebne są:
- Edytor tekstów. Może być dowolny, chociaż niekoniecznie najmądrzejszym posunięciem będzie pisanie w Wordzie.
- Kompilator C.
Można zakupić jeden z wielu komercyjnych kompilatorów języka C np:
albo użyć jednego z darmowych kompilatorów. Podczas tego kursu będziemy używać gcc, którego windowsową wersją jest DJGPP.
Linux
Instalacja gcc pod linuksem nie nastręcza zazwyczaj trudności, wystarczy: uruchomić menedżer pakietów, odnaleźć w nim gcc i zaznaczyć go do instalacji.
Windows
Pod Windows należy:
- Wejść do repozytorium pakietów, którego adres znajduje się na stronie DJGPP.
- Ściągnąć co najmniej pliki: djdev???.zip, bnu?????.zip i gcc????.zip. (???? oznaczają numer wersji, który się od czasu do czasu zmienia).
- Utworzyć katalog w którym ma zostać zainstalowane DJGPP (np. c:\djgpp).
- Rozpakować wszystkie pliki *.zip.
- Ustawić zmienną środowiskową DJGPP (np. w autoexec.bat), na nazwę pliku konfiguracyjnego (zazwyczaj C:/DJGPP/DJGPP.ENV), należy pamiętać aby w wartości zmiennej używać znaków / zamiast \.
- Do zmiennej środowiskowej PATH dodać katalog zawierający pliki wykonywalne (zazwyczaj C:\DJGPP\BIN)
Pomocny w instalacji DJGPP może być internetowy instalator
Kompilacja i uruchamianie programów
Przykładowy program
Aby uruchomić program w C trzeba go najpierw napisać. Programy w C piszemy w dowolnym edytorze tekstu i zapisujemy w pliku o zwyczajowo przyjętym rozszerzeniu .c. Przyjrzyjmy się następującemu programowi:
#include <stdio.h> int main() { printf("Raz\n"); return 0; }
Program ten wypisuje na ekran napis Raz po czym kończy swoje działanie.
Kompilacja
Spróbujmy skompilować nasz program. Załóżmy, że nazwaliśmy go (to typowe) test.c. Uruchamiamy w shellu polecenie gcc i co się dzieje:
krzysiek@krzysiek-desktop:~/Tmp$ gcc test.c krzysiek@krzysiek-desktop:~/Tmp$
Wbrew pozorom, to że system nic nie wypisał na ekran, nie oznacza niczego złego. Po prostu program się poprawnie skompilował, ale nie wiemy jak go uruchomić. Sprawdźmy, za pomocą polecenia ls, jakie inne pliki powstały w katalogu:
krzysiek@krzysiek-desktop:~/Tmp$ ls a.out test.c krzysiek@krzysiek-desktop:~/Tmp$
Kompilator gcc domyślnie tworzy plik wykonywalny o nazwie a.out, a dla nas wygodniej by było gdyby nazywał się on jakoś inaczej, co uzyskujemy za pomocą opcji -o kompilatora. Czyli:
krzysiek@krzysiek-desktop:~/Tmp$ rm a.out krzysiek@krzysiek-desktop:~/Tmp$ gcc test.c -o test krzysiek@krzysiek-desktop:~/Tmp$ ls test test.c krzysiek@krzysiek-desktop:~/Tmp$
No to teraz uruchamiamy nasz program:
krzysiek@krzysiek-desktop:~/Tmp$ test krzysiek@krzysiek-desktop:~/Tmp$
Hmm... nic się nie stało. Dlaczego? Ano dlatego, że test jest wbudowanym poleceniem shella i aby uruchomić nasz program, potrzebujemy poprzedzić jego nazwę ścieżką:
krzysiek@krzysiek-desktop:~/Tmp$ ./test Raz krzysiek@krzysiek-desktop:~/Tmp$
W ten sposób napisaliśmy i uruchomiliśmy nasz pierwszy preogram w C