个人技术分享

1. 背景说明

 2. 示例代码

1) errorRecord.h

// 记录错误宏定义头文件
 
#ifndef ERROR_RECORD_H
#define ERROR_RECORD_H
 
#include <stdio.h>
#include <string.h>
#include <stdint.h>
 
// 从文件路径中提取文件名
#define FILE_NAME(X) strrchr(X, '\\') ? strrchr(X, '\\') + 1 : X
 
// 定义用于启用调试模式的 DEBUG 宏
#define DEBUG
 
// 打印错误消息
#ifdef DEBUG
#define ERR_RECORD(ERR_CODE, ...) do { \
    printf(ANSI_COLOR_BRIGHT_CYAN \
        "\n\nFile: %-25s Func: %-20s Line: %-10d ErrorCode: %-8d ErrorInfo: ", \
        FILE_NAME(__FILE__), __func__, __LINE__, (ERR_CODE)); \
    printf(""__VA_ARGS__); \
    printf("\n" ANSI_COLOR_RESET); \
    PrintErrorCodeInfo(ERR_CODE); \
} while (0)
#else
#define ERR_RECORD(ERR_CODE, FORMAT, .