⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ecostestutils.h

📁 ecos为实时嵌入式操作系统
💻 H
字号:
#ifndef _ECOSTESTUTILS_H#define _ECOSTESTUTILS_H#include "stdafx.h"#define ENTERCRITICAL CeCosTestUtils::EnterCriticalSection(__FILE__,__LINE__)#define LEAVECRITICAL CeCosTestUtils::LeaveCriticalSection(__FILE__,__LINE__)#ifndef TRACE    #define TRACE CeCosTestUtils::Trace#endif#undef ERROR#define ERROR CeCosTestUtils::Error#ifdef VERBOSE	#define VTRACE TRACE#else	#define VTRACE 1 ? (void)0 : TRACE#endifclass CeCosTestUtils {	friend class GarbageCollector;public:    #ifdef _WIN32    static int CALLBACK FilterFunction(LPEXCEPTION_POINTERS p);    #endif	static void * GetThreadId();	static bool SetTraceFile (const char *pszFile);	class String {    public:		String ();		String (const char *pszStr);        String (const String &o);		~String();		operator const char *() const { return m_pszData; }		unsigned int GetLength() const { return strlen(m_pszData); } 		void SetLength(unsigned int nLen);		const String& operator+=(const char *pszStr);		const String& operator=(const char *lpsz);        const String& operator=(const String& o);		const String& operator+=(char ch);		void Format (const char * const pszFormat,...);		void vFormat(const char * pszFormat, va_list marker);		char operator[](unsigned int nIndex) const;		void MakeLower();		void MakeUpper();		void ReleaseBuffer();		char * GetBuffer ();		char * GetBuffer (unsigned int nLength);	protected:		char *m_pszData;		unsigned int m_nSize;        // Reallocate the buffer to accommodate pszContents (or        // the specified size, not including terminating NULL)		void AllocCopy(const char *pszContents);	};		// p and q routines (process-local recursive mutexes)	static void LeaveCriticalSection(const char *pszFile,int nLine);	static void EnterCriticalSection(const char *pszFile,int nLine);	static int AtomicIncrement (int &n); // return old value	static int AtomicDecrement (int &n); // return old value		// Diagnostic output	static void Trace (const char * pszFormat,...);	static void Error (const char * pszFormat,...);	// Find the tail of a filename	static const char * const Tail (const char * const pszFile);	// Split a host:port string into its constituent parts.	// Result indicates success, including whether port is within bounds for a tcp/ip port	// Caller must deallocate pszHost	static bool ParseHostPort (const char * const pszHostPort, String &pszHost, int &nPort);	static bool IsLegalHostPort (const char * const pszHostPort);	static int m_nCriticalSectionLock;    static void EnableTracing(bool b) { bVerbose=b; }    static bool IsTracingEnabled () { return bVerbose; }    static bool WaitFor (bool &b, int dTimeout);    // Representation of an absolute time    typedef int Duration;    class Time {    public:        bool operator< (const Time &o) const { return m_nMSec< o.m_nMSec; }        bool operator> (const Time &o) const { return m_nMSec> o.m_nMSec; }        bool operator<=(const Time &o) const { return m_nMSec<=o.m_nMSec; }        bool operator>=(const Time &o) const { return m_nMSec>=o.m_nMSec; }        bool operator==(const Time &o) const { return m_nMSec==o.m_nMSec; }        bool operator!=(const Time &o) const { return m_nMSec!=o.m_nMSec; }        Duration operator- (const Time &o) {return m_nMSec-o.m_nMSec;}        static Time Now();        // Construct from milliseconds value        Time (int nMSec ) : m_nMSec(nMSec) {}        Time () : m_nMSec(0) {}    protected:        unsigned int m_nMSec;    };    static void Sleep (Duration nMsec);protected:    static FILE *fTrace;    static bool bVerbose;	class GarbageCollector {	public:		GarbageCollector();		~GarbageCollector();		static GarbageCollector gc;	};};#endif

⌨️ 快捷键说明

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