C/Czego potrzebujesz: Różnice pomiędzy wersjami

Z Wikibooks, biblioteki wolnych podręczników.
< C
Usunięta treść Dodana treść
Derbeth (dyskusja | edycje)
Lethern (dyskusja | edycje)
poprawki
Linia 6: Linia 6:
* [[w:kompilator|kompilator]] języka C
* [[w:kompilator|kompilator]] języka C
*: Kompilator języka C jest programem, który tłumaczy kod źródłowy napisany przez nas 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ą pracą poszczególnych elementów komputera. Kompilator języka C można dostać za darmo. Przykładem są: '''[[w:Gcc|gcc]]''' pod systemy uniksowe, '''[[w:DJGPP|DJGPP]]''' pod systemy DOS, '''[[w:MinGW|MinGW]]''' oraz '''lcc''' pod systemy typu Windows. Jako kompilator C może dobrze służyć kompilator języka [[w:C plus plus|C++]] (różnice między tymi językami przy pisaniu prostych programów są nieistotne). Spokojnie możesz więc użyć na przykład Microsoft Visual C++® lub [[Borland C++ Compiler|kompilatorów firmy Borland]]. Jeśli lubisz eksperymentować, wypróbuj [[w:Tiny C Compiler|Tiny C Compiler]], bardzo szybki kompilator o ciekawych funkcjach. Możesz ponadto wypróbować interpreter języka C. Więcej informacji na [[w:Ch (język programowania)|Wikipedii]].
*: Kompilator języka C jest programem, który tłumaczy kod źródłowy napisany przez nas 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ą pracą poszczególnych elementów komputera. Kompilator języka C można dostać za darmo. Przykładem są: '''[[w:Gcc|gcc]]''' pod systemy uniksowe, '''[[w:DJGPP|DJGPP]]''' pod systemy DOS, '''[[w:MinGW|MinGW]]''' oraz '''lcc''' pod systemy typu Windows. Jako kompilator C może dobrze służyć kompilator języka [[w:C plus plus|C++]] (różnice między tymi językami przy pisaniu prostych programów są nieistotne). Spokojnie możesz więc użyć na przykład Microsoft Visual C++® lub [[Borland C++ Compiler|kompilatorów firmy Borland]]. Jeśli lubisz eksperymentować, wypróbuj [[w:Tiny C Compiler|Tiny C Compiler]], bardzo szybki kompilator o ciekawych funkcjach. Możesz ponadto wypróbować interpreter języka C. Więcej informacji na [[w:Ch (język programowania)|Wikipedii]].
* [[w:linker|Linker]]
* [[w:linker|Linker]] (często jest razem z kompilatorem)
*: Linker jest to program który uruchamiany jest po etapie kompilacji jednego lub kilku plików źródłowych (pliki z rozszerzeniem *.c, *.cpp lub innym) skompilowanych dowolnym kompilatorem. Taki program łączy wszystkie nasze skompilowane pliki źródłowe i inne funkcje (np. printf, scanf) które były użyte (dołączone do naszego programu poprzez użycie dyrektywy ''#include'') w naszym programie, a nie były zdefiniowane(napisane przez nas) w naszych plikach źródłowych lub nagłówkowych. Linker jest to czasami jeden program połączony z kompilatorem. Wywoływany jest on na ogół automatycznie przez kompilator, w wyniku czego dostajemy gotowy program do uruchomienia.
*: Linker jest to program który uruchamiany jest po etapie kompilacji jednego lub kilku plików źródłowych (pliki z rozszerzeniem *.c, *.cpp lub innym) skompilowanych dowolnym kompilatorem. Taki program łączy wszystkie nasze skompilowane pliki źródłowe i inne funkcje (np. printf, scanf) które były użyte (dołączone do naszego programu poprzez użycie dyrektywy ''#include'') w naszym programie, a nie były zdefiniowane(napisane przez nas) w naszych plikach źródłowych lub nagłówkowych. Linker jest to czasami jeden program połączony z kompilatorem. Wywoływany jest on na ogół automatycznie przez kompilator, w wyniku czego dostajemy gotowy program do uruchomienia.
* [[w:debuger|Debuger]]
* [[w:debuger|Debuger]] (opcjonalnie, wg potrzeb)
*: Debugger jest to program, który umożliwia prześledzenie(określenie wartości poszczególnych zmiennych na kolejnych etapach wykonywania programu) linijka po linijce wykonywania skompilowanego i zlinkowanego (skonsolidowanego) programu. 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. Aby użyć debuggera kompilator musi dołączyć kod źródłowy do gotowego skompilowanego programu. Przykładowymi debuggerami są: ''gdb'' pod Linuksem, lub ''debugger firmy Borland'' pod Windowsa.
*: Debugger jest to program, który umożliwia prześledzenie(określenie wartości poszczególnych zmiennych na kolejnych etapach wykonywania programu) linijka po linijce wykonywania skompilowanego i zlinkowanego (skonsolidowanego) programu. 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. Aby użyć debuggera kompilator musi dołączyć kod źródłowy do gotowego skompilowanego programu. Przykładowymi debuggerami są: ''gdb'' pod Linuksem, lub ''debugger firmy Borland'' pod Windowsa.
* edytora tekstowego;
* edytora tekstowego;
Linia 19: Linia 19:


Bardzo popularny IDE to płatny (istnieje także jego darmowa wersja) [[w:Microsoft Visual Studio|Microsoft Visual C++]] (MS VC++); popularne darmowe IDE to np.:
Bardzo popularny IDE to płatny (istnieje także jego darmowa wersja) [[w:Microsoft Visual Studio|Microsoft Visual C++]] (MS VC++); popularne darmowe IDE to np.:
* [[w:Dev-C++|Dev-C++]] dla Windows, dostępny na stronie [http://www.bloodshed.net www.bloodshed.net],
* [[w:Code::Blocks|Code::Blocks]] dla Windows jak i Linux, dostępny na stronie [http://www.codeblocks.org www.codeblocks.org],
* [[w:Code::Blocks|Code::Blocks]] dla Windows jak i Linux, dostępny na stronie [http://www.codeblocks.org www.codeblocks.org],
* [[w:KDevelop|KDevelop]] dla KDE
* [[w:KDevelop|KDevelop]] (Linux) dla KDE,
* [[w:NetBeans|NetBeans]] multiplatformowy, darmowy do ściągnięcia na stronie [http://www.netbeans.org/ www.netbeans.org],
* [[w:NetBeans|NetBeans]] multiplatformowy, darmowy do ściągnięcia na stronie [http://www.netbeans.org/ www.netbeans.org],
* [[w:Eclipse|Eclipse]] z wtyczką CDT (współpracuje z MinGW i GCC),
* Pelles C, [http://www.smorgasbordet.com www.smorgasbordet.com].
* [[w:Borland C++ Builder|Borland C++ Builder]] dostępny za darmo do użytku prywatnego,
* [[w:Eclipse|Eclipse]] z wtyczką CDT (współpracuje z MinGW i GCC)
* [[w:Xcode|Xcode]] dla Mac OS X 10.2.8 i nowszy kompatybilny z procesorami PowerPC i Intel (możliwość stworzenia Universal Binary)
* [[w:Xcode|Xcode]] dla Mac OS X 10.2.8 i nowszy kompatybilny z procesorami PowerPC i Intel (możliwość stworzenia Universal Binary),
* Geany dla systemów Windows i Linux; współpracuje z MinGW i GCC, [http://www.geany.org/ www.geany.org]
* Geany dla systemów Windows i Linux; współpracuje z MinGW i GCC, [http://www.geany.org/ www.geany.org],
* Pelles C, [http://www.smorgasbordet.com www.smorgasbordet.com],
* [[w:Dev-C++|Dev-C++]] dla Windows, dostępny na stronie [http://www.bloodshed.net www.bloodshed.net]


Często używanym środowiskiem jest też [[w:Borland C++ Builder|Borland C++ Builder]] (dostępny za darmo do użytku prywatnego).


== Dodatkowe narzędzia ==
== Dodatkowe narzędzia ==
Wśród narzędzi, które nie są niezbędne, ale zasługują na uwagę, można wymienić [http://valgrind.org/ Valgrinda] &ndash; specjalnego rodzaju debugger. Valgrind kontroluje wykonanie programu i wykrywa nieprawidłowe operacje w pamięci oraz [[C/Wskaźniki#Obsługa pamięci|wycieki pamięci]]. Użycie Valgrinda jest [http://valgrind.org/docs/manual/quick-start.html#quick-start.prepare proste] - kompiluje się program tak, jak do debugowania i podaje jako argument Valgrindowi.
Wśród narzędzi, które nie są niezbędne, ale zasługują na uwagę, można wymienić [http://valgrind.org/ Valgrinda] &ndash; specjalnego rodzaju debugger. Valgrind kontroluje wykonanie programu i wykrywa nieprawidłowe operacje w pamięci oraz [[C/Wskaźniki#Obsługa pamięci|wycieki pamięci]]. [http://valgrind.org/docs/manual/quick-start.html#quick-start.prepare Użycie Valgrinda] jest proste - kompilujemy program, jak do debugowania, następnie podajemy jako argument Valgrindowi.


<noinclude>{{Nawigacja|C|
<noinclude>{{Nawigacja|C|

Wersja z 20:38, 5 lis 2009

Czego potrzebujesz

Wbrew powszechnej opinii nauczenie się któregoś z języków programowania (w tym języka C) nie jest takie trudne. Do nauki wystarczą Ci:

  • komputer z dowolnym systemem operacyjnym, takim jak FreeBSD, Linux, Windows;
    Język C jest bardzo przenośny, więc będzie działał właściwie na każdej platformie sprzętowej i w każdym nowoczesnym systemie operacyjnym.
  • kompilator języka C
    Kompilator języka C jest programem, który tłumaczy kod źródłowy napisany przez nas 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ą pracą poszczególnych elementów komputera. Kompilator języka C można dostać za darmo. Przykładem są: gcc pod systemy uniksowe, DJGPP pod systemy DOS, MinGW oraz lcc pod systemy typu Windows. Jako kompilator C może dobrze służyć kompilator języka C++ (różnice między tymi językami przy pisaniu prostych programów są nieistotne). Spokojnie możesz więc użyć na przykład Microsoft Visual C++® lub kompilatorów firmy Borland. Jeśli lubisz eksperymentować, wypróbuj Tiny C Compiler, bardzo szybki kompilator o ciekawych funkcjach. Możesz ponadto wypróbować interpreter języka C. Więcej informacji na Wikipedii.
  • Linker (często jest razem z kompilatorem)
    Linker jest to program który uruchamiany jest po etapie kompilacji jednego lub kilku plików źródłowych (pliki z rozszerzeniem *.c, *.cpp lub innym) skompilowanych dowolnym kompilatorem. Taki program łączy wszystkie nasze skompilowane pliki źródłowe i inne funkcje (np. printf, scanf) które były użyte (dołączone do naszego programu poprzez użycie dyrektywy #include) w naszym programie, a nie były zdefiniowane(napisane przez nas) w naszych plikach źródłowych lub nagłówkowych. Linker jest to czasami jeden program połączony z kompilatorem. Wywoływany jest on na ogół automatycznie przez kompilator, w wyniku czego dostajemy gotowy program do uruchomienia.
  • Debuger (opcjonalnie, wg potrzeb)
    Debugger jest to program, który umożliwia prześledzenie(określenie wartości poszczególnych zmiennych na kolejnych etapach wykonywania programu) linijka po linijce wykonywania skompilowanego i zlinkowanego (skonsolidowanego) programu. 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. Aby użyć debuggera kompilator musi dołączyć kod źródłowy do gotowego skompilowanego programu. Przykładowymi debuggerami są: gdb pod Linuksem, lub debugger firmy Borland pod Windowsa.
  • edytora tekstowego;
    Systemy uniksowe oferują wiele edytorów przydatnych dla programisty, jak choćby vim i Emacs w trybie tekstowym, Kate w KDE czy gedit w GNOME. Windows ma edytor całkowicie wystarczający do pisania programów w C - nieśmiertelny Notatnik - ale z łatwością znajdziesz w Internecie wiele wygodniejszych narzędzi takich jak np. Notepad++. Odpowiednikiem Notepad++ w systemie uniksowym jest SciTE.
  • dużo chęci i dobrej motywacji.

Zintegrowane Środowiska Programistyczne

Zamiast osobnego kompilatora i edytora, możesz wybrać Zintegrowane Środowisko Programistyczne (Integrated Development Environment, IDE). 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 (istnieje także jego darmowa wersja) Microsoft Visual C++ (MS VC++); popularne darmowe IDE to np.:


Dodatkowe narzędzia

Wśród narzędzi, które nie są niezbędne, ale zasługują na uwagę, można wymienić Valgrinda – specjalnego rodzaju debugger. Valgrind kontroluje wykonanie programu i wykrywa nieprawidłowe operacje w pamięci oraz wycieki pamięci. Użycie Valgrinda jest proste - kompilujemy program, jak do debugowania, następnie podajemy jako argument Valgrindowi.