debugutils.cpp

来自「A Model-View-Controller Framework that i」· C++ 代码 · 共 87 行

CPP
87
字号
#include "StdAfx.h"
#include "DebugUtils.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

namespace SbjCore
{
	namespace Utils
	{
		namespace Debug
		{
			//	Found on CodeProject, no copyright or license attached
			//	Author:		Chen Venkataraman (venkatar@sig.com)
			//	Date:		Wed Dec 6, 2001
			HighResElapsedTimer::HighResElapsedTimer(LPCTSTR strName, bool bTimeRelease /*= false*/) : 
				m_strName(strName),
				m_bTimeRelease(bTimeRelease)
			{
#ifdef _DEBUG
				if (m_llFrequency == 0)			// frequency value not yet set
				{
					LARGE_INTEGER	liFrequency;

					QueryPerformanceFrequency(&liFrequency);
					m_llFrequency = liFrequency.QuadPart;
				}

				QueryPerformanceCounter(&m_llCounter);
#else
				if (m_bTimeRelease)
				{
					if (m_llFrequency == 0)			// frequency value not yet set
					{
						LARGE_INTEGER	liFrequency;

						QueryPerformanceFrequency(&liFrequency);
						m_llFrequency = liFrequency.QuadPart;
					}

					QueryPerformanceCounter(&m_llCounter);
				}
#endif
			}

			HighResElapsedTimer::~HighResElapsedTimer()
			{
				GetTime();
			}

			CString HighResElapsedTimer::GetTime()
			{
				CString s;
#ifdef _DEBUG
				LARGE_INTEGER		liNow;
				QueryPerformanceCounter(&liNow);
				double				duration = (double)(liNow.QuadPart - m_llCounter.QuadPart)/m_llFrequency;
				s.Format(_T("%s : Elapsed time = %.5lf seconds\n"), m_strName, duration);
				TRACE(s);
#else
				if (m_bTimeRelease)
				{
					LARGE_INTEGER		liNow;
					QueryPerformanceCounter(&liNow);
					double				duration = (double)(liNow.QuadPart - m_llCounter.QuadPart)/m_llFrequency;
					s.Format(_T("%s : Elapsed time = %.5lf seconds\n"), m_strName, duration);
					TRACE(s);
				}
#endif
				return s;
			}
			
			/* static */
			LONGLONG HighResElapsedTimer::m_llFrequency = 0;


		}
	}
}


//*** Modification History ***
// $Log:  $

⌨️ 快捷键说明

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