#pragma once #include #include #include #ifdef __cplusplus extern "C" { #endif #define __FILENAME_X__ (strrchr(__FILE__, '\\') ? strrchr(__FILE__, '\\') + 1 : __FILE__) #define __FILENAME__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILENAME_X__) // #define VERBOSE_DEBUG #ifdef DEBUG #ifdef VERBOSE_DEBUG #define DEBUG_FUNCTION_LINE_VERBOSE(FMT, ARGS...) \ do { \ WHBLogPrintf("[%23s]%30s@L%04d: " FMT "", __FILENAME__, __FUNCTION__, __LINE__, ##ARGS); \ } while (0) #else #define DEBUG_FUNCTION_LINE_VERBOSE(FMT, ARGS...) while (0) #endif #define DEBUG_FUNCTION_LINE(FMT, ARGS...) \ do { \ WHBLogPrintf("[%23s]%30s@L%04d: " FMT "", __FILENAME__, __FUNCTION__, __LINE__, ##ARGS); \ } while (0) #define DEBUG_FUNCTION_LINE_WRITE(FMT, ARGS...) \ do { \ WHBLogWritef("[%23s]%30s@L%04d: " FMT "", __FILENAME__, __FUNCTION__, __LINE__, ##ARGS); \ } while (0) #else #define DEBUG_FUNCTION_LINE_VERBOSE(FMT, ARGS...) while (0) #define DEBUG_FUNCTION_LINE(FMT, ARGS...) while (0) #define DEBUG_FUNCTION_LINE_WRITE(FMT, ARGS...) while (0) #endif #define DEBUG_FUNCTION_LINE_ERR(FMT, ARGS...) \ do { \ OSReport("## ERROR ## [%23s]%30s@L%04d: ##ERROR## " FMT "\n", __FILENAME__, __FUNCTION__, __LINE__, ##ARGS); \ } while (0) void initLogging(); void deinitLogging(); #ifdef __cplusplus } #endif