Środowisko programisty/Wprowadzenie do C

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Skąd wziąć kompilator języka C

Do pisania programów w C potrzebne są:

  1. Edytor tekstów. Może być dowolny, chociaż niekoniecznie najmądrzejszym posunięciem będzie pisanie w Wordzie.
  2. 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:

  1. Wejść do repozytorium pakietów, którego adres znajduje się na stronie DJGPP.
  2. Ściągnąć co najmniej pliki: djdev???.zip, bnu?????.zip i gcc????.zip. (???? oznaczają numer wersji, który się od czasu do czasu zmienia).
  3. Utworzyć katalog w którym ma zostać zainstalowane DJGPP (np. c:\djgpp).
  4. Rozpakować wszystkie pliki *.zip.
  5. 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 \.
  6. 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

Błędy kompilacji

Uruchomienie

Podstawy wejścia/wyjścia

Proste instrukcje