1
나는 list
및 list_elem
구조체를 실제 C 라이브러리와 매우 비슷한 (버그 목록이없는) 헤더를 가진 프로젝트에서 작업하고있다. 나는리스트의 구현을 사용하는 소스 파일을 쓰고 있어요 나는 다음과 같은 경고가 나타납니다 이것은 list_elem
구조의 선언이빌트인 malloc C 암시 적 선언
warning: implicit declaration of function ‘malloc’ [-Wimplicit-function-declaration]
입니다 내가 여기에 사용
/* 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>
하고 <stdlib.h>
이 malloc
가 암시 적으로 선언되고 있다는 컴파일러 경고 메시지를 가져옵니다 코드 전에 포함되지 않은 것이 거의 확실하다 목록
#include "lib/kernel/list.h"
"malloc 스레드를 사용하지 마십시오."- http://stackoverflow.com/questions/605845/do-i -cast-of-malloc 결과 – Jimbo
malloc을 가장 많이 캐스팅하지 마십시오 – KRUKUSA
암시 적 선언은 컴파일러가'malloc'에 대한 선언을 보지 못했다는 것을 의미합니다 ...이 문장 앞에'stdlib.h' defo가 포함되어 있습니까? (나는 네가 그렇게했다고 말한 것을 알고 있지만, 두 번 체크할만한 가치가 있을지도 모른다.) – Jimbo