首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

关于define的一个有关问题

2012-02-22 
关于define的一个问题这是我在i2c.h文件中的摘录:/* This is ugly. We need to evaluate I2C_CLIENT_MAX_O

关于define的一个问题
这是我在i2c.h文件中的摘录:

/* This is ugly. We need to evaluate I2C_CLIENT_MAX_OPTS before it is 
  stringified */
#define I2C_CLIENT_MODPARM_AUX1(x) "1-" #x "h"
#define I2C_CLIENT_MODPARM_AUX(x) I2C_CLIENT_MODPARM_AUX1(x)
#define I2C_CLIENT_MODPARM I2C_CLIENT_MODPARM_AUX(I2C_CLIENT_MAX_OPTS)

/* I2C_CLIENT_MODULE_PARM creates a module parameter, and puts it in the
  module header */

#define I2C_CLIENT_MODULE_PARM(var,desc) \
  static unsigned short var[I2C_CLIENT_MAX_OPTS] = I2C_CLIENT_DEFAULTS; \
  MODULE_PARM(var,I2C_CLIENT_MODPARM); \
  MODULE_PARM_DESC(var,desc)

红色的一行是什么意思?
谢谢各位不吝赐教!!!

[解决办法]
宏中间定义中的"#"说明:
"#"可将传递的宏字符串化
"##"将两个名字连接成一个(注意不是连接成字符串)

I2C_CLIENT_MODPARM_AUX1(a) = "1-ah" 

参考
http://www.cppblog.com/jinglexy/archive/2007/04/19/22298.html

热点排行