[宏]__stringify】的更多相关文章

Linux内核中有如下两个宏: #define __stringify_1(x...) #x #define __stringify(x...) __stringify_1(x) 写代码测试如下: #include<stdio.h> #include<stdlib.h> #define test1 "hello world" #define test2(x) "hello " #x //hello 后面有一个空格 #define test3(…
在Linux内核中有一个宏__stringify,在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, __stringi…
http://blog.csdn.net/hgl868/article/details/7058906 替代字符串: #define DOWNLOAD_IMAGE_LOG /var/log/png.log #define WGET_IMAGE_(x) "wget -b -c -P ./media/video -a " x " -i  mp4url.txt" WGET_IMAGE_(DOWNLOAD_IMAGE_LOG)就是 wget -b -c -P ./media…
1.Preprocessor Glue: The ## Operator 预处理连接符:##操作符 Like the # operator, the ## operator can be used in the replacement section of a function-like macro.Additionally, it can be used in the replacement section of an object-like macro. The ## operator co…
在阅读Linux Driver源码时,我们常常会在文件的结尾处看到诸如:MODULE_AUTHOR.MODULE_DESCRIPTION.MODULE_LICENSE等宏定义,这些宏主要是定义了一些模块信息. 但这些模块信息详细是怎么加到模块里的?就须要深入分析一下这些宏定义详细是怎么定义的.以下我们以MODULE_AUTHOR为例.来详细分析一下有关module信息的宏. 首先,我门来看一下MODULE_AUTHOR()宏的定义: #define MODULE_AUTHOR(_author)…
.module_i2c_driver(adxl34x_driver)展开为 static int __int adxl34x_driver_init(void) { return i2c_register_driver(&adxl34x_driver); } module_init(adxl34x_driver_init); static void __exit adxl34x_driver_exit(void) { return i2c_del_driver(&adxl34x_drive…
1.前言 在Linux驱动程序编写中,使用DEVICE_ATTR宏,可以定义一个struct device_attribute设备属性,并使用sysfs的API函数,便可以在设备目录下创建出属性文件,当我们在驱动程序中实现了show和store函数后,便可以使用cat和echo命令对创建出来的设备属性文件进行读写,从而达到控制设备的功能. 2.宏DEVICE_ATTR定义 在讲解DEVICE_ATTR宏之前,先了解一些基本的结构体,首先是struct attribute结构体,其定义在inclu…
因为自 Visual Studio 2012 开始,微软已经取消了对宏的支持,所以本篇文章所述内容只适用于 Visual Studio 2010 或更早期版本的 VS. 在上一篇中,我已经介绍了如何编写一个最简单的宏,本文将进一步介绍如何用宏来实现对代码编辑窗口控制.在本文结束的时候,你应该能自己实现如下两个功能,第一个用于对方法体进行 phase0 标记:第二个可以将当前窗口中的代码进行归类,将所有方法.属性.变量通过region进行分块. 动画演示:phase0 动画演示:设置 region…
CSDN原博文:http://blog.csdn.net/houkai363/article/details/8134787 遇到了:不能将参数 1 从“const char [5]”转换为“LPCTSTR”的错误,刚学MFC数据类型还不熟悉啊 哈哈 这个和C++稍有不同 做下记录 以后就没问题了. 解决方案:  一. 在字符串前加一个L作用:  如  L"我的字符串" 表示将ANSI字符串转换成unicode的字符串,就是每个字符占用两个字节. strlen("hou&qu…
writesb(), writesw(), writesl() 宏函数 功能 : writesb()    I/O 上写入 8 位数据流数据 (1字节) writesw()   I/O  上写入 16 位流数据 (2字节) writesl()    I/O 上写入 32 位流数据 ( 4字节 ) 原型 : 引用 #include <asm/io.h> void   writesb (unsigned short ioaddr , void * addr , unsigned long coun…