[英]Implicit Declaration of Function sbrk( )
我正在嘗試創建自己的malloc函數,但尚未完成。 這是我的代碼的相關部分:
mymalloc.h
:
#pragma once
#include <stdlib.h>
typedef struct METADATA{
struct METADATA *next;
struct METADATA *prev;
int free;
size_t size;
}METADATA;
METADATA *metadata;
void *mm_malloc(size_t size);
mymalloc.c
#include "mm_alloc.h"
#include "stdlib.h"
#include "stdio.h"
void *mm_malloc(size_t size) {
if(size == 0)
return NULL;
METADATA *tmp;
long address;
if(metadata == NULL){
sbrk(sizeof(tmp));
sbrk(size);
address = sbrk(0);
return (void *)address;
}
}
在sbrk(sizeof(tmp));
在mymalloc.c
一部分中,我得到了"Implicit declaration of function sbrk()"
。 我想要做的是為新塊的metadata
創建一個位置,並為所需大小創建一個位置。 我在哪里做錯了?
添加行
#include <unistd.h>
在文件“ mymalloc.c”的頂部,以便聲明該函數
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.