#pragma once #include #include using namespace std; //ÇϳªÀÇ ·Î±× ¸Þ¸ð¸® »çÀÌÁ ³ªÅ¸³À´Ï´Ù. #define TLOGSIZE LOG_MEMORY_SIZE+64 class CMemoryManager { //¸Þ¸ð¸® Pool·Î »ç¿ëÇÒ STL ½ºÅà stack m_MemoryPool; //·Î±×¸¦ ÀúÀåÇϰí ÀÖ´Â STL Å¥ = ·Î±× Å¥ queue m_LogQueue; int m_nLogID; CString m_strPathName;//[MAX_PATH]; CString m_strLogName;//[MAX_PATH]; // TCHAR m_TLog[LOG_MEMORY_SIZE]; unsigned short m_LogSize; CRITICAL_SECTION m_csLogFile; CRITICAL_SECTION m_csMemory; public: CMemoryManager(int MaxCount, int LogSize,int LogID, CString strLogPath, CString strLogName); virtual ~CMemoryManager(void); //·Î±×¸¦ ·Î±×Å¥¿¡ ³Ö´Â´Ù. void PushLog(TCHAR* str, unsigned int* curIndex, unsigned int* curLevel,unsigned int* curProcess, PSYSTEMTIME curTime); //·Î±× Å¥¿¡ ÀÖ´Â ³»¿ëÀ» ÆÄÀÏ¿¡ ÀúÀåÇϰí //Å¥¿¡ ÀÖ´Â ·Î±× ¸Þ¸ð¸®¸¦ ¸Þ¸ð¸® Pool·Î ¿Å±ä´Ù. void SaveLog(); //ÇöÀç ½ÇÇàµÇ°í ÀÖ´Â ÆÄÀÏ À§Ä¡¸¦ ¾ò¾î¿Â´Ù. void GetModulePath(void); };