📄 umc_log.h
字号:
/*////////////////////////////////////////////////////////////////////////////////// INTEL CORPORATION PROPRIETARY INFORMATION// This software is supplied under the terms of a license agreement or// nondisclosure agreement with Intel Corporation and may not be copied// or disclosed except in accordance with the terms of that agreement.// Copyright(c) 2003-2005 Intel Corporation. All Rights Reserved.//*/#ifndef __LOG_H__#define __LOG_H__#include "vm_time.h"#include "array.h"#include "umc_tracelog.h"namespace UMC {#if VM_STATFILE#define LOG(X) m_TraceToFile.LogToFile(__VM("%s(%d),%s, %s"),_FILE_,_LINE_,CLASSNAME,X)#else#define LOG(X)#endif#define LOG1(X,Y) {vm_char temp[256]; vm_string_sprintf(temp,X,Y); LOG(temp);}extern UMC::TraceLogToFile m_TraceToFile;#ifdef QWERTYUIOP //VM_STATFILEclass AutoLog{ vm_char temp[256]; int flag; AutoLog(vm_char *Y, const vm_char *format,...):flag(1) { vm_char *e = "-"; if((*(vm_char *)(&Y)) == (*e) ) {flag = 0;} else{ vm_string_sprintf(temp,X,"+"); m_TraceToFile.LogToFile(format, } }; ~AutoLog() { if(flag){ vm_string_sprintf(temp,X,"-"); LOG(temp); } };}#endif // QWERTYUIOP //VM_STATFILEclass Counter;typedef double (Counter::*RESULT_FUNC)();class Counter {public: enum RESULT_TYPE {FPS, MSPF}; Counter(RESULT_TYPE _t = MSPF); Counter(const char *name,RESULT_TYPE _t = MSPF); ~Counter(void); void reset(); void start(); void stop(); double get_value(void); RESULT_TYPE get_type(); void set_type(RESULT_TYPE _t); const char* get_name(); void set_name(const char* name);protected: double get_value_fps(); double get_value_mspf(); const char* m_name; RESULT_TYPE m_type; vm_tick m_tick; vm_tick m_total_tick; int m_count; vm_tick m_freq; RESULT_FUNC m_func;};class CounterArray {public: CounterArray(); ~CounterArray(void); const char* get_name(); void set_name(const char* name); Counter* add_counter(const char *name, Counter::RESULT_TYPE _t = Counter::MSPF); void dump_values();protected: const char* m_name; SimpleArray<Counter*> m_array;};#ifdef MEASURE_PERFextern CounterArray g_CounterArray;extern Counter* g_counter_virtual_call;extern Counter* g_counter_get_frame;#endif}#endif // __LOG_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -