我注意到当我编译这个iniparser时,它会输出以下警告:
src/iniparser.c:244:5: warning: implicit declaration of function ‘snprintf’ [-Wimplicit-function-declaration]
snprintf(keym, secsize, "%s:", s);
解决方案是添加以下内容:
#include <stdio.h>
我尝试过这个方法,但它并不能解决问题。然后我研究了Makefile中的编译标志,并发现了如下内容:
CFLAGS += -fPIC -Wall -ansi -pedantic
如果我把这个改成:
CFLAGS += -fPIC -Wall -std=c99 -pedantic
它编译时没有警告。这是否意味着C90标准不包括
snprintf
?有人能解释一下这种行为吗?
snprintf
。你的测试并没有涉及sprintf
,因为它没有被使用。 - Kaz