首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

#define宏定义的有关问题,望

2012-07-29 
#define宏定义的问题,望高手指点如题,几个看不懂的宏定义,望高手解释,谢过。① #define TYPEINIT2_FACTORY(s

#define宏定义的问题,望高手指点
如题,几个看不懂的宏定义,望高手解释,谢过。
① #define TYPEINIT2_FACTORY(sType, sSuper1, sSuper2, Factory) \
  TYPEINIT_FACTORY(sType, Factory); \
  SUPERTYPE(sSuper1); \
  SUPERTYPE(sSuper2); \
  TYPEINIT_END(sType)
②#define RTL_CONSTASCII_USTRINGPARAM( constAsciiStr ) constAsciiStr, ((sal_Int32)(sizeof(constAsciiStr)-1)), RTL_TEXTENCODING_ASCII_US

[解决办法]
有参数的宏定义请参考 http://baike.baidu.com/view/2076445.htm 第二节.
1. TYPEINIT2_FACTORY 传入4个参数sType, sSuper1, sSuper2, Factory. 可以是变量或值.
分别 执行下面的4个语句.
加上 \ 是宏定义的要求.

2. 看字面意思应该是作为一个函数的参数.
使用时
somefunction(RTL_CONSTASCII_USTRINGPARAM( constAsciiStr ))
= somefunction(constAsciiStr, ((sal_Int32)(sizeof(constAsciiStr)-1)), RTL_TEXTENCODING_ASCII_US)
[解决办法]
宏定义就是字符替换。打开预处理开关,查看被替换后生成的是什么

热点排行