Директивы препроцессора являются языком, отличным от C, и имеют гораздо более простую грамматику, потому что первоначально они были "проанализированы", если можно так назвать, другой программой под названием cpp
до того, как компилятор C увидел файл.Люди могут использовать это для предварительной обработки даже файлов, отличных от C, для включения условных частей файлов конфигурации и т. П.
Существует программа для Linux под названием "unifdef", которую вы все еще можете использовать для удаления некоторых условных файлов.части программы, если вы знаете, что они никогда не будут правдой.Например, если у вас есть некоторый код для поддержки не-ANSI стандартных компиляторов, окруженный #ifdef ANSI/#else/#end
или просто #ifndef ANSI/#end
, и вы знаете, что вам больше не придется поддерживать не-ANSI, вы можете устранить мертвый код, запустивэто через unifdef -DANSI
.