Программист, которого я уважаю, сказал, что в коде C следует избегать #if и #ifdef любой ценой, за исключением, возможно, заголовочных файлов. Почему использование #ifdef в файле .c считается плохой практикой программирования?
#if
#ifdef
Если ваш код будет скомпилирован с другими компиляторами C, и вы используете функции, специфичные для компилятора, то вам может потребоваться определить, какие предопределенные макросы доступны.