Существует несколько директив условной компиляции, позволяющих изменять порядок компиляции программы в зависимости от состояния системы. Данный процесс называется условной компиляцией и широко используется при разработке коммерческого программного обеспечения, предоставляющего и поддерживающего много различных версий одной и той же программы.