【发布时间】:2013-10-28 17:39:09
【问题描述】:
我可以使用 gcc 版本 4.7.2 编译以下内容
#include <string.h>
int main(){
char text[] = "String duplicate";
char* dup = strdup(text);
return 0;
}
但是当我使用 --std=c11 标志时,我收到以下警告:
warning: implicit declaration of function ‘strdup’ [-Wimplicit-function-declaration]
warning: initialization makes pointer from integer without a cast [enabled by default]
什么变化导致了这个警告?
【问题讨论】:
-
This mail 建议
strdup在 C11 中是标准的,但我在其他任何地方都找不到。 -
我不认为 strdup 是 C 标准,据我记得只是一个 POISX 函数。