在linux下写了一个简单的网络程序,用到函数inet_aton。使用gcc编译,编译的时候加上了-std=c99,编译可以通过,但是报错“warning: implicit declaration of function ‘inet_aton’”。去掉-std=c99,编译正常通过,没有报错。google了一下,发现gcc提供的一些c扩展与标准c有冲突。在gcc中使用"-std=c99"时,gcc会关闭产生冲突的扩展。如果要使用gcc针对c99的扩展,设定“-std=gnu99”,编译就不会报错了。
http://stackoverflow.com/questions/1783792/why-does-gcc-report-implicit-declaration-of-function-round