C语言中#define宏中省略号作用,例子:#define __stringify_1(x...) #x
学习Linux misc驱动时遇到以下函数定义:
代码路径:include\linux\stringify.h
#ifndef __LINUX_STRINGIFY_H
#define __LINUX_STRINGIFY_H/* Indirect stringification. Doing two levels allows the parameter to be a* macro itself. For example, compile with -DFOO=bar, __stringify(FOO)* converts to "bar".*/#define __stringify_1(x...) #x
#define __stringify(x...) __stringify_1(x)#endif /* !__LINUX_STRINGIFY_H */
作用:
宏定义中的省略号表示一串可变的参数, 这一串参数可用例程中的变量x加以引用。
用法举例:
#define MISC_MAJOR 10#define MODULE_ALIAS_MISCDEV(minor) \MODULE_ALIAS("char-major-" __stringify(MISC_MAJOR) \"-" __stringify(minor))
表示将__stringify中定义的变量字符串化,结果为:
#define MISC_MAJOR 10#define MODULE_ALIAS_MISCDEV(minor) \MODULE_ALIAS("char-major-10-"__stringify(minor))
C语言中#define宏中省略号作用,例子:#define __stringify_1(x...) #x相关推荐
- 汇编语言中PTR的含义及作用
汇编语言中PTR的含义及作用 mov ax,bx ;是把BX寄存器"里"的值赋予AX,由于二者都是word型,所以没有必要加"WORD" mov ax,w ...
- go语言中fmt包中Print、Printf、Println输出相关函数的区别
go语言中fmt包中Print.Printf.Println输出相关函数的区别 区别: Print系列函数将内容输出到系统的标准输出.其区别:Print函数式直接输出内容,Printf函数支持格式化输 ...
- C语言中scanf()函数中的是什么
困惑初学者的C语言中scanf()函数中的&到底是什么 对于初学者而言,肯定有过这样一个困惑:为什么在使用scanf函数输入数据时有时需要在参数前加一个&,而有时却不用. 在回答&qu ...
- c语言中for循环逗号表达式,c语言中for循环中()里的三个表达式分别省略都
公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:c语言中for循环 中()里的三个表达式分别省略都是什么意思?回答:将参加循环的语句括起来:末尾循环体){ 中间循环体: } 其中, ...
- c语言宏替换作用,C语言中,宏替换的替换规则
简单来说:宏定义又称为宏代换.宏替换,简称"宏".是C提供的三种预处理功能的其中一种.复杂的请看下面,讲的很全. 下面的带参宏定义,多行宏定义,在Linux内核源码中很多.另外si ...
- C语言中void具体有什么作用
1.概述 许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误.本文将对void关键字的深刻含义进行解说,并 详述void及void指针类型的使用方法与技巧 ...
- C语言中,头文件的作用,头文件和源文件的关系(转)
简单的说其实要理解C文件与头文件(即.h)有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程: 1.预处理阶段 2.词法与语法分析阶段 3.编译阶段,首先编译成纯汇编语 ...
- C语言中,宏和全局变量的区别是什么?
全局变量 是可以在程序中任何地方使用 而且是可以修改的 宏定义也可以在任何地方使用 但是不能在之后修改 数据类型没有限制的 宏的例子:#define 宏名 宏体 #define PI 3.141592 ...
- html语言中%3c%%%3e中语言,[工学]C语言程序设计习题解答.doc
[工学]C语言程序设计习题解答 C程序设计习题 第一章 C 语言基础知识 1.1 选择题 1. C语言源程序的基本单位是_____. A. 过程 B. 函数 C. 子程序 D. 标识符 2. 下列各组 ...
最新文章
- linux /home recovering journal,linux报错:/dev/sdb2:recovering journal
- 【职场】程序员摆地摊都能月入过万,是真的吗?
- 为iOS 项目引入其它开发包 的方法
- PNG免扣+高清背景素材,帮电商美工\设计师快速出稿!
- 三星堆的青铜机器人_三星堆“青铜纵目人像”到底仿照谁的相貌?专家终于讲出真相...
- 关于React的一切(updating...)
- Apache服务停止:信号灯超时时间已到,指定的网络名不再可用
- UBT19:ubuntu安装qq与微信
- 在idea导入项目依赖爆红
- 学会宽容您的世界会很美丽
- 互联网行业的常用黑话,你知道几条?
- 6.MySQL列Cardinality(基数)
- java 保龄球游戏开发_2019-11-08-基于TDD实现的java版本的保龄球规则(实体类)
- 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2
- 浅析为什么没有朝代在武汉建都?
- intellij idea报错:类文件具有错误的版本 61.0, 应为 52.0
- Eclipse “cannot be resolved to a type”
- 2017去哪儿网前端面试心得
- 2.3.2 HMC硬件管理终端
- 萧乾升:4.17黄金白银TD实时最新策略,名师在线解套