Компиляторы не обрабатывают директивы препроцессора; препроцессоры делают это. Как только препроцессор завершает работу, он передает свой вывод компилятору, который может интерпретировать директивы компилятора (например, #pragma
s), как он считает нужным.