Programowanie/Zaczynamy/C
C jest imperatywnym strukturalnym językiem programowania stworzonym na początku lat siedemdziesiątych przez Dennisa Ritchiego do programowania systemów operacyjnych i innych zadań niższego poziomu. Przykładowo, w języku C napisany jest Linux.
Do zalet języka C należy wspieranie zaawansowanych struktur danych. Język oferuje dość szerokie możliwości. Przykładowo, w języku C możliwa jest bezpośrednia komunikacja aplikacji z systemami Uniksowymi (biblioteka POSIX) lub kartą graficzną (biblioteka OpenGL).
Nowsze wersje języka C wspierają lepiej obliczenia numeryczne, programowanie równoległe i umiędzynarodowienie aplikacji (znaki narodowe).
Typowe narzędzia do programowania w C
[edytuj]Typowy kompilator C (w Linuksie) to gcc. W systemie Windows oficjalnym narzędziem Microsoftu jest bardzo rozbudowane Visual Studio, jednak istnieją prostsze narzędzia - np. przeniesione narzędzia open source ( MinGW, MinGW-w64 dla architektury 64 bitowej), bądź też Digital Mars C++.
Popularne zintegrowane środowiska open source-owe to Code::Blocks, lub Orwell Dev-C++.
Środowisko Code::Blocks
[edytuj]Środowisko Code::Blocks pozwala na tworzenie, edytowanie i budowanie aplikacji m.in. w językach C i C++. Obejmuje ono edytor z kolorowaniem składni oraz własny system budowy aplikacji. Używa oddzielnych kompilatorów. Może współpracować z typowymi kompilatorami (lista obsługiwanych narzędzia powiększa się). Możliwe jest także zainstalowanie Code::Blocks razem z MinGW, jest to najprostsza opcja do pisania programów w Windows.
Instalacja środowiska Code::Blkocks
[edytuj]Code::Blocks posiada graficzny instalator, co upraszcza jego instalację. Do prawidłowego działania musi wiedzieć, gdzie jest kompilator C. Przy pierwszym uruchomieniu stara się wykryć ścieżkę dostępu do kompilatora C.
Jeżeli zainstalowaliśmy MinGW w katalogu c:\MinGW, to zostanie on wykryty. Potem można modyfikować ustawienia.
Środowisko MinGW
[edytuj]Środowisko MinGW jest minimalistycznym zestawem narzędzi GNU przeniesionych na platformę Windows. W jego skład wchodzą kompilatory dla różnych języków, biblioteki i narzędzia konsolowe.
Instalacja MinGW polega na uruchomieniu instalatora, który pobiera aktualne pliki z repozytorium. Domyślnie jest instalowane w katalogu C:\MinGW. Jeżeli umieścimy na pulpicie link do instalatora, to można szybko uaktualniać to środowisko, dodawać/usuwać składniki.
Instalacja MinGW
[edytuj]Do uruchomienia programów w języku C wystarczy kompilator gcc. Czasem konieczne są dodatkowe biblioteki (). Jeżeli chcemy budować programy w konsoli bash, to trzeba zainstalować pakiet MSYS.
Jeżeli system nie widzi gcc, make itp.
[edytuj]System Windows posiada zmienną środowiskową $PATH, która zawiera ścieżki do katalogów zawierających programy i biblioteki, które są rozpoznawalne przez system.
Jeżeli nie zawiera ona katalogu z programami MinGW (np. C:\MinGW\bin ), to Windows nie będzie ich widział.
Ustawienie zmienne środowiskowej $PATH polega na jej edycji i dodaniu na koniec odpowiedniego katalogu.
Pamiętamy o powtórnym uruchomieniu systemu.
Jeżeli system nie widzi bash, make itp
[edytuj]Rozwiązaniem jest także edycja zmiennej środowiskowej $PATH. Należy dodać ścieżkę do środowiska MSYS ( np. C:\MinGW\msys\1.0\bin , który zawiera narzędzia make, bash, telnet itp.)
Przykładowe uruchomienie aplikacji w środowisku tekstowym
[edytuj]Do napisania i uruchomienia prostego, jednoplikowego programu w konsoli wystarczy:
- uruchomienie konsoli Windowsowej (polecenie
cmd
) - uruchomienie konsoli
bash
- wejście do odpowiedniego katalogu
cd /sciezka/do/mojego/katalogu/projekty_c/test_1
- utworzenie w konsoli nowego pliku - polecenie
touch main.c
bądź ręcznie np w edytorze tekstu. - edycja pliku main.c w dowolnym uniwersalnym edytorze tekstu, np. notepad++, Vimk, Emacs, gedit, nedit.
- kompilacja pliku tekstowego - polecenie:
gcc main.c -o program.exe
- uruchomienie programu - polecenie:
./program.exe
Zaprezentowany scenariusz tworzy plik tekstowy main.c i kompiluje go do pliku programu program.exe.
Można wpisać plik w stylu "Hello World!", tzn. wypisujący na ekranie napis powitalny.
Przykłady można znaleźć w kursach języka C:
https://pl.wikibooks.org/wiki/C/Podstawy
W dalszej kolejności można pomyśleć o narzędziu make, które pozwala automatyzować budowanie projektów wieloplikowych. Ale to już temat na później.
W oryginalnej wersji książki było jeszcze napisane:
C++ to język programowania ogólnego przeznaczenia, zaprojektowany przez Bjarne'a Stroustrupa jako rozszerzenie języka C o obiektowe mechanizmy abstrakcji danych i silną statyczną kontrolę typów. Obecnie jest to bardzo rozbudowany kombajn.
- Dev-C++ - kompilator C/C++
- Robert Chwastek - Język C
- Wstęp do programowania w języku C (materiały dydaktyczne MIMUW na studia informatyczne)