Кодовая база, с которой я работаю, исторически старалась - целенаправленно - избегать зависимостей от stdio.h, ползучего. У нее есть собственное форматирование и механизмы печати, и это то, что должно использоваться вместо printf и т.д.
Но кто-то добавляет зависимость так часто, что ее нужно замечать и вынимать. Поэтому я попытался сделать тревогу для самых простых случаев:
#if !defined(NDEBUG)
void printf(float dont_link_with_stdio_h);
#endif
Кажется, что люди gcc думали также о том, чтобы остановить простые ошибки, потому что есть полезное сообщение, если вы это сделаете... включили ли вы <stdio.h>
или нет.
конфликтующие типы для встроенной функции 'printf'
Есть способ отключить это предупреждение (-fno-builtin
). И есть всевозможные подходы, которые будут делать такие вещи, как фильтр дампа символов для вещей, которые вы не хотите быть там...
Но есть ли тривиально легкое не предупреждающее предупреждение (если вы не указали stdio.h) способ предупредить кого-то, что они ввели нежелательное использование printf?