C语言中宏的使用(#,##,do…while(0)宏)
1.预定义宏的使用__FILE__,__FUNCTION__,__LINE__。
#include
void fun(void)
{
char v1;
short v2;
int v3;
long v4;
printf("v1: %x\n",&v1);
printf("v2: %x\n",&v2);
print...
分类:
编程语言 时间:
2014-06-24 15:29:13
阅读次数:
214
在前面对glog分别做了两次学习,请看C++的开源跨平台日志库glog学习研究(一)、C++的开源跨平台日志库glog学习研究(二)--宏的使用,这篇再做个扫尾工作,算是基本完成了。编译期断言动态断言在调试过程中是一个很重要的手段,而且我们使用的也比较多。相应的,静态断言,也即是编译期断言随着模板编...
分类:
编程语言 时间:
2014-05-12 10:56:46
阅读次数:
444
C语言宏定义技巧周四, 2008年 10月 09日 14:10 高级管理员 C/C++编程 -
C语言基础1,防止一个头文件被重复包含#ifndef COMDEF_H#define COMDEF_H
//头文件内容#endif2,重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差...
分类:
编程语言 时间:
2014-05-09 19:53:26
阅读次数:
476
上一篇从整个工程上简单分析了glog,请看C++的开源跨平台日志库glog学习研究(一),这一篇对glog的实现代码入手,比如在其源码中以宏的使用最为广泛,接下来就先对各种宏的使用做一简单分析。1.
日志输出宏这里我们以一条最简单的日至输出为例说明:LOG(WARNING) stream_;}dat...
分类:
编程语言 时间:
2014-05-04 12:16:30
阅读次数:
526
头文件中如下定义宏:/** * @brief 默认空间名(必填项) */#error
必填项#define DEFAULT_BUCKET @""/** * @brief 默认表单API功能密钥 (必填项) */#error 必填项#define
DEFAULT_PASSCODE @...
分类:
移动开发 时间:
2014-04-28 18:15:07
阅读次数:
684