#是什么意思? ##是什么意思?
#define DEFINE_SHMOD(mod)struct module_of_##mod {\
\
static const char* getmod() {\
return #mod;}}
上面那是什么意思啊?
[解决办法]
别喊搞手啦, 其实都不是很难的问题喔
1,
# 是宏处理的 字符串转换符
#define STRING(exp) #exp
那么 STRING(okokokok)就相当于 "okokokok "
2,
## 是标识符拼接符
#define FULL_IDENT(ident) sys_global_##ident
FULL_IDENT(cache) 就等于 sys_global_cache
注意一点
如果
#define FULL_IDENT(ident) sys_global_ident
FULL_IDENT(cache) 就等于 sys_global_ident 应该不是你想要的.
用你的例子
#define DEFINE_SHMOD(mod) struct module_of_##mod { \
\
static const char* getmod() { \
return #mod; }}
这样使用
DEFINE_SHMODE(dxrender)
相当于
struct module_of_dxrender {
static const char * getmod() {
return "dxrender ";
}
}
[解决办法]
ls正解.