我所使用的代码库历来是有目的地 – 旨在避免stdio.h爬行的依赖.它有自己的打印格式和机制,而那些应该是使用而不是printf等等.
但有些人经常增加依赖,必须注意并取出.所以我试图为最简单的情况发出警报:
- #if !defined(NDEBUG)
- void printf(float dont_link_with_stdio_h);
- #endif
gcc人似乎一直在思考阻止容易错误的原因,因为如果你这样做有一个有用的消息,无论你是否包括< stdio.h>或不.
conflicting types for built-in function ‘printf’
有一种方法可以关闭此警告(-fno-builtin).还有各种各样的方法,可以像不想在那里的东西那样过滤符号转储
但是,是否有一个简单的非警告导致(如果您没有包含stdio.h)方式来提醒某人他们已经引入了不需要的printf使用情况?