我试图编译旧项目,但我有一个错误。该项目实现函数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

09-12 08:08