cmem.h
来自「操作系统课程设计~处理机调度 模拟一种多任务(或多用户)(多道)批处理操作系统(」· C头文件 代码 · 共 51 行
H
51 行
#ifndef CMem_H
#define CMem_H
#define DEFAULT_SIZE 20
#define MM_TOTAL_SIZE 512
#define MM_MAX_SIZE 60
typedef unsigned int uint;
/*要使用Clist,需提供prep,nextp,和<(),>()*/
class CMem
{
public:
uint begin;
uint size;
CMem* prep;
CMem* nextp;
bool used;
public:
CMem():begin(0),size(0),prep(NULL),nextp(NULL),used(0){}
/*p紧邻this,即p,this顺序*/
bool extent_front(CMem* p)
{
if( p && this->begin==p->begin+p->size )
{
this->begin=p->begin;
this->size+=p->size;
return true;
}
return false;
}
/*this紧邻p,即this,p顺序*/
bool extent_back(CMem* p)
{
if( p && p->begin==this->begin+this->size )
{
this->size+=p->size;
return true;
}
return false;
}
bool div(uint needs)
{
if( size<needs )
return false;
size-=needs;
begin+=needs;
return true;
}
};
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?