예제 #1
0
//---------------------------------------------------------------------------
// 函数:	AllocNewChunk
// 功能:	分配新的内存块,并且填充为0
// 参数:	void
// 返回:	TRUE	成功 
//			FALSE	失败
//---------------------------------------------------------------------------
BOOL KMemStack::AllocNewChunk()
{
	if (m_nChunkTop >= MAX_CHUNK)
	{
		g_MessageBox("KMemStack : Chunk over flow");
		return FALSE;
	}

	m_pStack[m_nChunkTop] = (PBYTE)g_MemAlloc(m_nChunkSize);
	if (m_pStack[m_nChunkTop] == NULL)
		return FALSE;

	m_nChunkTop++;
	m_nStackTop = 0;
	m_nStackEnd = m_nChunkSize;
	return TRUE;
}
예제 #2
0
//---------------------------------------------------------------------------
// 函数:	AllocNewChunk
// 功能:	分配新的内存块,并且填充为0
// 返回:	true	成功 
//			false	失败
//---------------------------------------------------------------------------
int KMemStack::AllocNewChunk()
{
	if (m_nChunkTop >= MAX_CHUNK)
	{
		g_MessageBox("KMemStack : Chunk over flow");
		return false;
	}

	m_pStack[m_nChunkTop] = (unsigned char*)g_MemAlloc(m_nChunkSize);
	if (m_pStack[m_nChunkTop] == NULL)
		return false;

	m_nChunkTop++;
	m_nStackTop = 0;
	m_nStackEnd = m_nChunkSize;
	return true;
}
예제 #3
0
//---------------------------------------------------------------------------
// 函数:	g_AssertFailed
// 功能:	断言失败
// 参数:	FileName	在哪个文件中失败
//			LineNum		在文件中的第几行
//---------------------------------------------------------------------------
C_ENGINE_API
void g_AssertFailed(const char* pFileName, int nLineNum)
{
    g_MessageBox("Assert failed in %s, line = %i", pFileName, nLineNum);
    assert(0);
}