Kompilacja warunkowa
Kompilacja warunkowa jest techniką kompilacji stosowaną w wielu językach programowania. Polega ona na uzależnieniu kompilacji fragmentów kodu programu od spełnienia podanych warunków.
Ta technika wykorzystywana jest do tworzenia różnych wersji programów w oparciu o ten sam kod źródłowy np. dla zróżnicowania na potrzeby testowe i programu końcowego.
Język programowania umożliwiający kompilację warunkową musi mieć dyrektywę warunkowej kompilacji oraz dyrektywy kompilacji pozwalające na definiowanie warunków. Dyrektywa warunkowej kompilacji jest w większości przypadków wzorowana na instrukcji warunkowej.
Przykładem języka obsługującego kompilację warunkową jest C, w którym jest ona obsługiwana na poziomie preprocesora.
Przykład w C/C++
edytujPrzykładowa zawartość pliku test.c:
#ifdef TEST double test = M_PI; #else float test = M_E; #endif
Kompilując ten program komputerowy przy zdefiniowanym makrze TEST (np. za pomocą gcc[a] - gcc test.c -D TEST, bądź przez wcześniejsze użycie dyrektywy preprocesora - #define TEST), fragment ten będzie równoważny instrukcji double test = M_PI
; W programie zmienna test będzie typu double i zostanie jej nadana wartość liczby π. Kompilując kod bez zdefiniowanego makra TEST otrzymamy wartość M_E.