centos上使用gcc编译某程序得到warning:
implicit declaration of function
同时写了一个测试程序用到c++库, 因此使用g++编译。
测试程序无问题。 原程序使用gcc编译得到warning没在意, 使用起来后一直莫名其妙的core掉。 开始以为是其他问题而忽略了该warning。 而该core恰恰是由此warning产生的。
因为用到了 strcasestr, 需要
#define _GNU_SOURCE //这个可能多余、在网上查到的
#define __USE_GNU //这个必需。 见系统的 include/相应的文件下。
#include <string.h> //声明该函数的头文件
__USE_GNU 没有定义该宏时就会产生上述warning、 gcc会core。 定义之后就无问题了。
同时发现gcc中 min也未定义。。