1、添加log
printf("\033[1;43m %s,%s,%d\033[0m\n",__FILE__,__FUNCTION__,__LINE__);
FILE:文件名
FUNCTION:函数名
LINE:代码所在文件行数
1 static void console_log(const char *format, ...) { 2 static FILE *fpConsole; 3 4 if (fpConsole == NULL) { 5 fpConsole = fopen("/dev/console", "w"); 6 } 7 8 if (fpConsole != NULL) { 9 char aMsg[3584]; 10 va_list va; 11 va_start(va, format); 12 int nRet; 13 if (((nRet = vsnprintf(aMsg, sizeof(aMsg), format, va)) < 0) || 14 (nRet >= (int)sizeof(aMsg))) { 15 fprintf(fpConsole, "%s: nRet=%d, sizeof(aMsg)=%d\n", __FUNCTION__, nRet, 16 sizeof(aMsg)); 17 } 18 va_end(va); 19 fprintf(fpConsole, "%s\n", aMsg); 20 } 21 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理