Kompilacja warunkowa
Kompilacja warunkowa to technika stosowana w wielu językach programowania, polegająca na uzależnieniu kompilacji fragmentów kodu od spełnienia określonych warunków. Dzięki tej metodzie można tworzyć różne wersje programów na podstawie tego samego kodu źródłowego, co jest przydatne na przykład w procesach testowych oraz w wersji końcowej programu.
Aby język programowania mógł wspierać kompilację warunkową, musi zawierać dyrektywy umożliwiające definiowanie warunków. Często są one wzorowane na standardowych instrukcjach warunkowych. Przykładem języka, który obsługuje kompilację warunkową, jest C, gdzie realizacja tej techniki odbywa się na poziomie preprocesora.
Przykład w C/C++
Przykładowa zawartość pliku test.c
:
#ifdef TEST double test = M_PI; #else float test = M_E; #endif
W przypadku kompilacji tego programu z zdefiniowanym makrem TEST
(np. używając komendy gcc test.c -D TEST
lub dyrektywy preprocesora #define TEST
), fragment kodu będzie interpretowany jako:
double test = M_PI;
W rezultacie zmienna test
będzie miała typ double i wartość liczby π. Z kolei, jeśli kod zostanie skompilowany bez zdefiniowanego makra TEST
, zmienna test
przyjmie wartość M_E jako float.
Podsumowanie
- Kompilacja warunkowa pozwala na tworzenie różnych wersji programów z tego samego kodu.
- Wymaga dyrektyw kompilacyjnych do definiowania warunków.
- Przykład zastosowania w języku C/C++ ilustruje różne typy zmiennych w zależności od zdefiniowanego makra.