函数'strdup'的隐式声明(包括string.h)

时间:2016-10-07 22:24:49

标签: c implicit-declaration

我试图在一段时间内解决这个警告,但我真的不知道这样的事情怎么可能。

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

谢谢!

0 个答案:

没有答案