1

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

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

谢谢!

4

0 回答 0