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

📄 __trace.h

📁 一个最简单的SCSI miniport
💻 H
字号:
#ifndef TRACE_H_
#define TRACE_H_

#include <assert.h>
#ifndef ASSERT
#define ASSERT  assert
#endif

#ifdef  TRACE

    #ifndef TRACE_BUFFSIZE
    #define TRACE_BUFFSIZE  260
    #endif

    #ifdef  __cplusplus
    extern "C"
    {
    #endif

    const char * __TRACE_szLogFile();
    #define  TRACE_LOGFILENAME( name )   const char * __TRACE_szLogFile(){ return name; }
    
    #ifdef   TRACE_LOGFILE

    void __LOGFILE_printf(LPCSTR szFmt, ...);
    #define  TRACE_printf    __LOGFILE_printf

    #elif   defined(WDM)

    #define  TRACE_printf    DbgPrint

    #else

    void __DEBUG_printf(LPCSTR szFmt, ...);
    #define  TRACE_printf    __DEBUG_printf

    #endif

    #ifdef  __cplusplus
    }
    #endif

	#define	TRACE_PRINTF( expr )	TRACE_printf expr

    #define TRACE_PRINT(sz)                                 TRACE_printf( (sz) )
    #define TRACE_PRINT1(szFmt, var)                        TRACE_printf( (szFmt), (var) )
    #define TRACE_PRINT2(szFmt, var1, var2)                 \
                TRACE_printf( (szFmt), (var1), (var2) )
    #define TRACE_PRINT3(szFmt, var1, var2, var3)           \
                TRACE_printf( (szFmt), (var1), (var2), (var3) )
    #define TRACE_PRINT4(szFmt, var1, var2, var3, var4)     \
                TRACE_printf( (szFmt), (var1), (var2), (var3), (var4) )

	#define	TRACE_PRINTF_IF( condition, expr )	(void)( (condition)?(TRACE_printf expr ),1):0 )

    #define TRACE_PRINT_IF(condition, sz)                                \
                (void)( (condition)?(TRACE_printf( (sz) ),1):0 )
    #define TRACE_PRINT1_IF(condition, szFmt, var)                       \
                (void)( (condition)?(TRACE_printf( (szFmt), (var) ),1):0 )
    #define TRACE_PRINT2_IF(condition, szFmt, var1, var2)                \
                (void)( (condition)?(TRACE_printf( (szFmt), (var1), (var2) ),1):0 )
    #define TRACE_PRINT3_IF(condition, szFmt, var1, var2, var3)          \
                (void)( (condition)?(TRACE_printf( (szFmt), (var1), (var2), (var3) ),1):0 )
    #define TRACE_PRINT4_IF(condition, szFmt, var1, var2, var3, var4)    \
                (void)( (condition)?(TRACE_printf( (szFmt), (var1), (var2), (var3), (var4) ),1):0 )

#else

    #define  TRACE_LOGFILENAME( name )   

	#define	TRACE_PRINTF( expr )                        ((void)0)

    #define TRACE_PRINT(sz)                             ((void)0)
    #define TRACE_PRINT1(szFmt, var)                    ((void)0)
    #define TRACE_PRINT2(szFmt, var1, var2)             ((void)0)
    #define TRACE_PRINT3(szFmt, var1, var2, var3)       ((void)0)
    #define TRACE_PRINT4(szFmt, var1, var2, var3, var4) ((void)0)

    #define TRACE_PRINT_IF(condition, sz)                              ((void)0)
    #define TRACE_PRINT1_IF(condition, szFmt, var)                     ((void)0)
    #define TRACE_PRINT2_IF(condition, szFmt, var1, var2)              ((void)0)
    #define TRACE_PRINT3_IF(condition, szFmt, var1, var2, var3)        ((void)0)
    #define TRACE_PRINT4_IF(condition, szFmt, var1, var2, var3, var4)  ((void)0)

#endif  //  #ifdef  TRACE

#endif

⌨️ 快捷键说明

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