#cat log_debug.h
#ifdef DEBUG
int log_debug(const char *format, ...);
#else
int log_debug(const char *format, ...);
#endif
#cat log_debug.cc

#include <stdio.h>
#include <stdarg.h>
#ifdef DEBUG
void log_debug(const char *format, ...)
{
printf("DEBUG\n"); va_list argPtr;
int count; va_start(argPtr, format);
fflush(stdout);
count = vfprintf(stderr, format, argPtr);
va_end(argPtr);
}
#else
int log_debug(const char *format, ...)
{ }
#endif
#cat main.cc
#include <stdio.h>
#include "log_debug.h" int main()
{
printf("main\n");
log_debug("hello");
return 0;
}

build: 打开宏开关的方式: -DDEBUG

#g++ -DDEBUG  log_debug.h log_debug.cc main.cc -o a

最新文章

  1. xib文件的加载方法
  2. Linux内核--内核数据类型
  3. Server.MapPath()
  4. SharePoint 2013 安装图解
  5. YHMMR003 农户基本信息的维护程序
  6. 8.Smack类库
  7. 【转】线程、Thread类和线程终止
  8. ogg 、 Shareplex和DSG RealSync 对比
  9. Spark1.4启动spark-shell时initializing失败
  10. 标准C++中的STL容器类简单介绍
  11. javaScript &amp; jquery完美判断图片是否加载完毕
  12. Pintos-斯坦福大学操作系统Project详解-Project1
  13. linux awk浅析(转)
  14. HAproxy健康检查的三种方式
  15. c#之依赖注入
  16. 数据库学习笔记 4 强大的SQL
  17. WinForm 水晶报表的简单使用
  18. day17
  19. Some interesting facts about static member functions in C++
  20. ArcSDE账户频繁被锁定(Oracle显示12560协议适配器错误)

热门文章

  1. C++学习之继承中的访问控制
  2. wpf 禁用启用webbroswer右键菜单
  3. Date类型转换为Integer类型
  4. ES6 一些常用使用
  5. C# 学习笔记 三层架构系列(控件一)
  6. hibernate字段名和属性
  7. 在 CentOS 7上安装并配置 Python 3.6 环境
  8. 学学cookie和session
  9. esp和ebp指针
  10. codeforces——数学