Вы не правильно поняли.
Условная компиляция подразумевает различные варианты построения программы в соответствии с заданным условием.
Например, PLC работает в системе, используя входные сигналы от внешнего "железа", которого на момент отладки нет. В этом случае можно симитировать внешние сигналы программно, отлаживая другие части программы. Участок кода, выполняющий иммитацию, запускается в компиляцию при задании условной константы (например, #define USB_DEBUG), а когда дело дойдет до реальной отладки на "железе", то условие закоментируется (строка, #define USB_DEBUG комментируется) и компилируется настоящий, а не отладочный код - воспринимающий реальные сигналы со входов.
С уважением,
Herzog





Ответить с цитированием