一个打印日志的C宏定义——TRACEOUT
来源:互联网 发布:网络安全工程师薪资 编辑:程序博客网 时间:2024/05/22 10:31
在编程的时候,我们常常需要知道程序的运行状态,因而回用printf、cout或者AfxMessageBox等方式将信息打印出来。这样处理其实是很麻烦的,每个地方都要写这些代码,程序发布的时候又要手动注释或者删除这些代码,费时费力还容易出错。而本文则是介绍另外一种方式来获取程序的运行状态——打印日志,通过一个宏定义来把要打印的信息写到一个日志文件中,这样不仅可以记录程序每次运行的状态便于debug,而且在发布时只需要注释掉宏定义而不必删除每一个使用该宏的地方,不会出现因删除代码而出现的错误。
代码如下:
#include<stdio.h>#include<time.h>#define TRACEOUT(p) \{ \ time_t timeval; \ timeval=time(NULL); \ FILE *log; \ log = fopen("log.txt","a");\ fprintf(log,"%s -- %s\n",p,ctime(&timeval));\ fclose(log); \}int main(){ TRACEOUT("hello"); return 0; }
其实,这个宏还可以加一个参数传入文件的路径,就可以自定义日志文件的位置。
日志文件的内容:
- 一个打印日志的C宏定义——TRACEOUT
- c 宏定义log日志简单打印
- 宏定义日志打印
- linux c 定义打印时间/文件名/行/函数日志的可变参数宏定义,如果需要的话可以参考
- C语言简单的日志宏打印
- 打印日志开关的定义方法
- iOS 宏定义~log(打印日志)
- 定义全局的Context和定义自己的打印日志
- 一个简单的用于嵌入式Linux开发的C调试日志打印接口
- GitHub的一个日志打印库LazyLogger
- 通过宏定义的日志插件-C语言
- 如何在程序中写log日志(定义log级别:error,warn, info, debug; 宏定义打印不同级别的日志; 程序中引用宏定义即可)
- 一个小小的C语言宏定义错误 - [C,C++]
- 调试信息的宏定义:能够打印出文件名、函数、行数、日志,方便调试
- IOS,Win32和Android三版本的打印日志(DLog)宏定义
- 关于使用__FILE__和__LINE__的宏定义来打印日志
- linux C中定义打印宏
- 一个打印日志函数
- 高尔夫球的表面为什么凹凸不平?
- 手动使用sql profile来进行执行计划的稳固
- 基于imx25开发板音频驱动理解
- cocos2d-x 实现按Home和待机键后,再进入游戏显示暂停界面
- Interview on 20111201
- 一个打印日志的C宏定义——TRACEOUT
- Glassfish莫名爆Client not authorized for this invocation
- 再谈select, iocp, epoll,kqueue及各种I/O复用机制
- 如何在MATLAB图形窗口中复制数据文件。
- 图形图像处理-之-高质量的快速的图像缩放 中篇 二次线性插值和三次卷积插值
- 图形图像处理-之-高质量的快速的图像缩放 上篇 近邻取样插值和其速度优化
- SQL Server開啟AWE使用大容量內存
- emacs ctrl-space与输入法冲突
- 图形图像处理-之-高质量的快速的图像缩放 下篇 三次线性插值和MipMap链