我试图编译旧项目,但我有一个错误。该项目实现函数dprintf
,这是某种printf
函数。然而,当我今天试图编译那个项目时,我发现dprintf
已经在stdio.h
中定义了。所以我的问题是-如何隐藏标准dprintf
函数,因为现在我经常遇到这样的错误:
ntreg.c:82: error: conflicting types for 'dprintf'
/usr/include/stdio.h:397: note: previous declaration of 'dprintf' was here
ntreg.c:93: error: conflicting types for 'dprintf'
/usr/include/stdio.h:397: note: previous declaration of 'dprintf' was here
最佳答案
只需将实现重命名为
int dprintf(... parameters ...)
到
int not_stdio_dprintf(... parameters ...)
然后无论你在哪里使用它
#define dprintf not_stdio_dprintf