我试图解决这个警告一段时间,但我真的不知道这样的事情怎么可能。
gcc 命令:
gcc -std=c99 -Wall -Wextra -pedantic -O0 -c -o myString.o myString.c
myString.c:在函数'string_toCharArr'中:myString.c:47:2:警告:函数'strdup'的隐式声明[-Wimplicit-function-declaration]
return strdup(s->data);
文件 myString.h
#ifndef INCL_MYSTRING_H
#define INCL_MYSTRING_H
#include <stdbool.h>
typedef struct sString{
unsigned len;
unsigned actLen;
char *data;
} string;
string *new_string();
bool string_append(string *s, char c);
char *string_toCharArr(string *s);
void string_clear(string *s);
void string_destroy(string *s);
#endif /* INCL_MYSTRING_H */
文件 myString.c
#include <stdlib.h>
#include <string.h>
#include "myString.h"
string *new_string(){
//
}
bool string_append(string *s, char c){
//
}
char *string_toCharArr(string *s){
return strdup(s->data);
}
unsigned string_getLength(string *s){
//
}
void string_clear(string *s){
//
}
void string_destroy(string *s){
//
}
包含unistd.h的fileno()和readlink() 也会发生同样的情况。
gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
谢谢!