如何在结构体中定义函数
malloc.h
molloc函数//内存管理控制器
struct _m_mallco_dev
{
void (*init)(u8); //初始化
u8 (*perused)(u8); //内存使⽤率
u8 *membase[SRAMBANK]; //内存池,管理SRAMBANK个区域的内存
u16 *memmap[SRAMBANK]; //内存状态表
u8 memrdy[SRAMBANK]; //内存管理是否就绪
};
extern struct _m_mallco_dev mallco_dev; //在malloc.c⾥⾯定义
malloc.c
//内存管理控制器
struct _m_mallco_dev mallco_dev=
{
mymem_init, //内存初始化
mem_perused, //内存使⽤率
mem1base,mem2base,mem3base, //内存池
mem1mapbase,mem2mapbase,mem3mapbase,//内存管理状态表
0,0,0, //内存管理未就绪
};
/
/内存管理初始化
//memx:所属内存块
void mymem_init(u8 memx)
{
mymemset(ap[memx],0,memtblsize[memx]*2); //内存状态表清零
mymemset(base[memx], 0,memsize[memx]); //内存池所有数据清零
dy[memx]=1; //内存管理初始化OK
}
要注意定义结构体的时候不能直接定义函数,C语⾔的struct中只有成员,不能有函数,所以只能定义指向函数的指针。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论