Rozdział 6
Dla właściwego zrozumienia języka C nieodzowne jest przyswojenie sobie pewnych ogólnych informacji.
Jak każdy język programowania, C sam w sobie jest niezrozumiały dla procesora. Został on stworzony w celu umożliwienia ludziom łatwego pisania kodu. który może zostać przetworzony na kod maszynowy. Program, który zamienia kod C na wykonywalny koel binarny, to kompilator. Jeśli pracujesz nad projektem, który wymaga kilku plików kodu źródłowego (np. pliki nagłówkowe), wtedy jest uruchamiany kolejny program linker. Linker służy elo |x>łączenia różnyc h plików i stworzenia jednej aplikacji lub biblioteki (library). Biblioteka jest zestawem procedur, który sam w sobie nie jest wykonywalny, ale może być używana przez inne programy. Kompilacja i łączenie plików są ze sol>ą bardzo ściśle powiązane, stąd są przez wielu traktowane jako jesień proces. Jedną rzecz warto sobie uświaelomić kompilacja jest jednokierunkowa: przekształcenie kodu źródłowego C w kcal maszynowy jest 1 mi rdzo proste, natomiast odwrotnie nie. Dekompilatory co prawda istnieją, ale rzaelko tworzą użyteczny koel C.
Najpopularniejszym wolnym kompilatorem jest prawdopodobnie GNU Compiler Collection, dostępny na stronie gcc.gnu.org.
Pewnie zaskoczy Cię to. że tak naprawelę "czysty" język C nie może zbyt wiele. Język C w grupie języków programowania wysokiego poziomu jest stosunkowo nisko. Dzięki temu kod napisany w języku C można elość łatwo przetłumaczyć na kod asemblera. Bardzo łatwo jest też łączyć ze sobą kexl napisany w języku asemblera z kodem napisanym w C. Dla bardzo wielu ludzi przeszkodą jest także dość duża liczba i częsta dwuznaczność operatorów. Początkujący programista, czytający kod programu w C może odnieść bardzo nieprzyjemne wrażenie, które można opisać cytatem "ja nigdy tego nic opanuję". Wszystkie te elementy języka C, które wydają Ci się dziwne i nielogiczne w miarę, jak będziesz nabierał doświadczenia nagle okażą się całkiem przemyślanie dobrane i takie, a nie inne konstrukcje przypadną Ci do gustu. Dalsza
27