gostypes.cpp

来自「一个更为先进的嵌入式操作系统.采用RMS线程调度算法,具有信号量等同步对象.亦包」· C++ 代码 · 共 66 行

CPP
66
字号
#include "gos.h"
#include "gostypes.h"

BOOL CRect::SubtractRect(LPCRECT pRect)
{
	int nState=0;

	if(pRect->left<=left)
		nState|=1;
	if(pRect->right>=right)
		nState|=2;
	if(pRect->top<=top)
		nState|=4;
	if(pRect->bottom>=bottom)
		nState|=8;

	switch(nState)
	{
	case 7:
		top=pRect->bottom;
		break;
	case 11:
		bottom=pRect->top;
		break;
	case 13:
		left=pRect->right;
		break;
	case 14:
		right=pRect->left;
	case 15:
		bottom=top;
		right=left;
		break;
	default:
		nState=0;
	}
	return nState;
}

void CPlex:: FreeDataChain()
{
	CPlex *pNext, *p = this;
	while (p)
	{
		pNext = p->m_pNext;
		free(p);
		p = pNext;
	}
}
PVOID CPlex::CreateHead(CPlex* &pHead,int nBytes)
{
	CPlex* p = (CPlex*) malloc(sizeof(CPlex) + nBytes);
	p->m_pNext = pHead;
	pHead = p;
	return p+1;
}

PVOID CPlex::CreateTail(CPlex* &pTail,int nBytes)
{
	CPlex* p = (CPlex*) malloc(sizeof(CPlex) + nBytes);
	pTail->m_pNext = p;
	pTail = p;
	return p+1;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?