C宏定义常见用法与条件编译
来源:互联网 发布:贵州省博联大数据商会 编辑:程序博客网 时间:2024/06/08 13:55
#
在c语言的宏中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏变量 通过替换后在其左右各加上一个双引号。##
##被称为连接符(concatenator),用来将两个Token连接为一个Token。关于…的使用
…在C宏中称为Variadic Macro,也就是变参宏。do {…} while (0) 在宏定义中的作用
Linux和其它代码库里的宏都用do/while(0)来包围执行逻辑,因为它能确保宏的行为总是相同的,而不管在调用代码中使用了多少分号和大括号。
条件编译
#ifndef D1 printf("D1111111111111111111\n");#else printf("others\n");#endif#if TEST printf("1111111111111\n");#else printf("2222222222222222");#endif#if 1#endif
防止头文件重复包含
#ifndef _SOMEHEAD_H_#define _SOMEHEAD_H_//函数的声明#endif // !_SOMEHEAD_H_
日志打印
printf("file = %s\nline = %d\n", __FILE__, __LINE__);
参考:
- C语言宏定义##连接符和#符的使用
- do {…} while (0) 在宏定义中的作用
阅读全文
0 0
- C宏定义常见用法与条件编译
- 宏定义与条件编译
- C语言宏定义之条件编译
- C 预处理指令 宏定义 条件编译
- C——宏定义,条件编译
- 宏定义与条件编译的用处
- 条件编译/条件宏定义
- C语言基础:C语言宏定义(3) - 条件编译
- 【Xcode学C-6】宏定义#define、条件编译#if、文件包含、内部外部函数以及typedef的用法
- C 预处理(宏定义,文件包含,条件编译)
- C语言之关键字、宏定义、条件编译
- c语言预处理,包含(宏定义,包含,条件编译)
- C语言之关键字、宏定义、条件编译
- C语言详解(6)宏定义和条件编译
- 【C 语言】编译过程 分析 ( 预处理 | 编译 | 汇编 | 链接 | 宏定义 | 条件编译 | 编译器指示字 )
- 条件编译与extern "C"
- C/C++编译预处理:宏定义指令、文件包含指令、条件编译指令和特殊符号处理
- 宏与条件编译
- 前端面试必备——基本排序算法
- nyoj-125-盗梦空间
- cdn上发布html页面访问后台方法跨域
- Android实现GridView的item长按拖动删除完美实现(带动画效果)
- java读取json文件的数据
- C宏定义常见用法与条件编译
- 【笨鸟先飞】Java重新学习日记3---数组
- hive支持sql大全(4-6:数值计算/日期函数/条件函数)
- Acache使用过程的大坑
- 新添加的标签触发不了绑定的事件
- css input[type=file] 样式美化,input上传按钮美化
- java面试题2(转载)
- K
- thymeleaf循环 下标 倍数判断