我的功能mkstemp()有问题。 cygwin上的GCC编译器会生成警告:

implicit declaration of function ‘mkstemp‘


GCC标志:-std=c99 -Wall

包括:

#include </usr/include/stdlib.h>
#include </usr/include/unistd.h>

最佳答案

在我的cygwin中,stdlib.h声明了mkstemp这样的声明:

#ifndef __STRICT_ANSI__
#ifndef _REENT_ONLY
int _EXFUN(mkstemp,(char *));
#endif


似乎mkstemp不是ANSI C。确保没有将编译器设置为强制执行特定标准(放弃c99)并且不使用-ansi/-pedantic标志。

另外...在您的/usr/include/中放弃#include部分。编译器会为您解决这一问题。

08-17 00:19