本周在去除测了cl360的警告时有这个cgi.c warning: implicit declaration of function 'strcasestr', man了下发现strcasestr存在string.h里,查看了下cgi.c发现确实也包含了string.h头文件。
那为何还会报出警告呢, 仔细阅读man上的内容发现有个宏,因此我加上了, 如下。
#include "StdAfx.h"
#include <stdio.h>
#include <stdlib.h>
#define _GNU_SOURCE
#include <string.h>
再次编译,警告依然存在,没办法,我去搜了下百度,第一个出现的帖子就是关于这问题,看了下 解决方法还是一样,我就怀疑是不是这个宏要放在首行,就放首行再编译下没警告了。具体原因大家说说看?
#define _GNU_SOURCE
#include "StdAfx.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>