Я уверен, что вы можете удалить их как-нибудь, но почему? Вы не должны начинать #ifdef
s в начале строки, это совершенно правильно :
int getVal (void) {
int x = 10
#ifdef MY_DEBUG_FLAG
printf ("Returning %d\n", x);
#endif
return x;
}
Еще одна вещь, которую вы должны рассмотреть, это не определять переменную непосредственно в исходном коде с помощью чего-то вроде:
#define MY_DEBUG_FLAG
У большинства компиляторов есть переключатель, который выполняет те же действия перед обработкой исходного кода:
gcc -DMY_DEBUG_FLAG ...
Таким образом, вам нужно всего лишь изменить глобальные флаги компилятора в вашем make-файле (или любом используемом вами инструменте сборки), почти наверняка в одном месте, а не в каждом исходном файле.
И вы все равно можете выборочно включать отладку для отдельных файлов, если необходимо, временно изменяя только одну команду компилятора. Насколько это легко, зависит от вашей системы сборки, но все, что я использовал, делает ее довольно безболезненной.