KOMPILATOR
KOMPILATOR - program służący do automatycznego tłumaczenia kodu
napisanego w jednym języku programowania ( w naszym przypadku w C ). Kompilacja to proces automatycznego tłumaczenia kodu źródłowego na kod wynikowy przez kompilator. Kompilacja jest przeważnie głównym etapem ogólniejszego procesu translacji, a tworzony w jej trakcie kod wynikowy jest przekazywany do innych programów, np. do konsolidatora (linkera).
Możliwe jest również tłumaczenie do postaci zrozumiałej dla człowieka.
PREPROCESOR - Część kompilatora, której zadaniem jest przetworzenie kodu źródłowego, w sposób określony przez programistę za pomocą dyrektyw, na kod wyjściowy – tak przetworzony kod źródłowy poddawany
jest następnie analizie składniowej, kompilacji, a w końcu konsolidacji.
DYREKTYWY:
#include, #define, #ifdef, #ifndef, #elif, #endif
Opcje gcc:
- "-E" tylko preprocesor
- "-c" tylko preprocesor i kompilacja
- "-o" nazwa dla pliku wynikowego
- "-D" definicja makra
PRZYKŁAD:
#include <stdio.h>
#define SIX 1+5
#if 5==5
#define NINE 8+1
#endif
int main(void){ // bez argumentow
printf("%d * %d = %d\n", SIX, NINE, SIX * NINE);
return 0;
}
MAKEFILE:
program służący do ułatwienia procesu kompilacji złożonych programów
file:
touch plik.txt
clean:
rm plik.txt
PLIKI NAGŁÓWKOWE ".h":
przechowują deklaracje funkcji, są wstawiane do kodu źródłowego przez preprocesor. Definicje są zwykle
zawarte w plikach o takich samych nazwach, ale z rozszerzeniem ".c"
Przykład makefile
PROCESY:
ZADANIA