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, ...)
#end