kcore.h

来自「一个简单而又高效的嵌入式操作系统.包括GUI及文件系统.仿Windows设计,类」· C头文件 代码 · 共 48 行

H
48
字号
// KCore.h: interface for the KCore class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_KCORE_H__E5E4312F_ACDC_493F_BBF2_3B0B8FE64110__INCLUDED_)
#define AFX_KCORE_H__E5E4312F_ACDC_493F_BBF2_3B0B8FE64110__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#define OS_MAXTHREAD 4
#define OS_HEAPSIZE 0x40000 //1M空间
typedef void(*OS_THREADPROC)(void);
typedef struct _tagTCB
{
	PVOID sp;
	DWORD nTick;
}OS_TCB,*POS_TCB;
#define ZeroMemory(pDest,nLength) FillMemory(pDest,nLength,0)

void OS_Init(void);
void OS_OnIdle(void);
LPVOID HeapAlloc(int nBytes);
void HeapFree(PVOID pData);
int HeapAllocSize(PVOID pData);
void CopyMemory(LPVOID pDest,LPCVOID pSrc,DWORD nLength);
void FillMemory(LPVOID pDest,DWORD nLength,BYTE nFill);
BOOL MessageBeep(int nType);
POS_TCB GetCurThread(void);
POS_TCB GetNextThread(void);
void CreateThread(OS_THREADPROC pThreadProc,int nStackSize);

//PVOID operator new(UINT nSize,PVOID pObj);
//VOID operator delete(PVOID pData,PVOID pObj);
//PVOID operator new[](UINT nSize);
//VOID operator delete[](PVOID pData);
//PVOID operator new(UINT nSize);
//VOID operator delete(PVOID pData);
PVOID inline operator new(UINT nSize,PVOID pObj){nSize=nSize;return pObj;}
VOID inline operator delete(PVOID pData,PVOID pObj){pData=pObj;return;}
PVOID inline operator new[](UINT nSize){return HeapAlloc(nSize);}
VOID inline operator delete[](PVOID pData){HeapFree(pData);}
PVOID inline operator new(UINT nSize){return HeapAlloc(nSize);}
VOID inline operator delete(PVOID pData){HeapFree(pData);}

#endif // !defined(AFX_KCORE_H__E5E4312F_ACDC_493F_BBF2_3B0B8FE64110__INCLUDED_)

⌨️ 快捷键说明

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