码迷,mamicode.com
首页 > 其他好文 > 详细

一个调试信息和一个简单的带参打印输出函数

时间:2016-05-29 23:07:46      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:

#include<stdio.h>
#include<stdlib.h>
int main()
{
   #ifdef DEBUG
      printf("Compiled: " __DATE__ " at " __TIME__"\n" );
      printf("This is line %d of file %s\n",__LINE__,__FILE__);
   #endif
   printf("Hello world\n");
   return 0;
}

gcc -o debug_info -DDEBUG debug_info.c

Compiled: May 29 2016 at 21:52:49
This is line 7 of file debug_info.c
Hello world

###可变参数打印函数

#define va_list char*

#define va_start(ap,arg) (ap =(va_list)&arg + sizeof(arg))

#define va_arg(ap,t) ( * (t*)( (ap += sizeof(t)) - sizeof(t)       ))

#define va_end(ap) (ap =(va_list)0)

具体参考 程序员的自我修养—链接 装载与库一书

#include <stdarg.h>

void R_OUTPUT(int dwRTSwitch, int dwDebugLevel, char* pchDebugInfo, ...)

{

    static char achBuf[1024];

    va_list ArgList;

    if ((dwRTSwitch & dwDebugLevel) != 0)

    {

       (void)va_start(ArgList, pchDebugInfo);

       (void)vsprintf(achBuf, pchDebugInfo,ArgList);

       va_end(ArgList);

       printf((char *)achBuf);

    }

}

一个调试信息和一个简单的带参打印输出函数

标签:

原文地址:http://www.cnblogs.com/hqh-prg2016/p/5540569.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!