Я работаю над проектом, в котором у меня есть заголовок, который определяет list
и list_elem
структуры, похожие на фактические библиотеки c (в реализации списков нет ошибок). Я пишу исходный файл, который использует реализацию списка, и я получаю следующее предупреждение:C неявное объявление встроенного malloc
warning: implicit declaration of function ‘malloc’ [-Wimplicit-function-declaration]
Это декларация list_elem
структуры
/* List element. */
struct list_elem
{
struct list_elem *prev; /* Previous list element. */
struct list_elem *next; /* Next list element. */
};
, который я использую здесь:
//creates a list element
struct list_elem le_current;
&le_current = (struct list_elem *)malloc(sizeof(struct list_elem));
Я знаю, что есть другой вопрос с той же проблемой, но в отличие от этого человека, я включил
#include <stdlib.h>
, а также заголовок, который определяет списки
#include "lib/kernel/list.h"
Интерес может быть «dont cast malloc thread» - http://stackoverflow.com/questions/605845/do-i -cast-the-result-of-malloc – Jimbo
больше не использовать malloc – KRUKUSA
Неявное объявление подразумевает, что компилятор не видел объявления для 'malloc' ... является ли' stdlib.h' defo включенным перед этим утверждением? (Я знаю, что вы сказали, что сделали, но стоило бы дважды проверить). – Jimbo