//--------------------------------------------------------------------------- // 函数: 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; }
//--------------------------------------------------------------------------- // 函数: 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; }
//--------------------------------------------------------------------------- // 函数: 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); }