读书人

#define宏换行的有关问题

发布时间: 2013-09-26 10:32:35 作者: rapoo

#define宏,换行的问题。
#define DECLARE_MESSAGE_MAP() \
struct MSGMAP_ENTRY _messageEntres[]:\

#define BEGIN_MASSAGE_MAP() \
struct MSGMAP_ENTRY _messageEntres[]=\
{\
......

这个第二行最后的\换行连续符和第三行的空行是必须都要有的吗?
[解决办法]
可以不需要.
[解决办法]
第二行有换行的话第三行就得空着,不然宏定义会也包含第三行的内容.

没有换行的话第三行就没必要是空行了.
[解决办法]
空行不需要,也容易混淆。

引用:
#define DECLARE_MESSAGE_MAP() \
struct MSGMAP_ENTRY _messageEntres[]:\

#define BEGIN_MASSAGE_MAP() \
struct MSGMAP_ENTRY _messageEntres[]=\
{\
......

这个第二行最后的\换行连续符和第三行的空行是必须都要有的吗?

[解决办法]
如果是同一个宏的话, 就必须加上的!
[解决办法]
你这个是一个宏还是两个宏?一个宏你看着办,没看懂,两个宏第二行的斜杠就去掉
[解决办法]
一个宏你看着办,没看懂,两个宏第二行的斜杠就去掉
[解决办法]
看你的意思应该是一个宏加一个结构体声明,再加一个宏。
第二行的换行符就可以不要了。
[解决办法]
可以不需要的
[解决办法]
编译选项加/EP /P,重新编译,查看宏展开后对应的.i文件。gcc加-E

读书人网 >C语言

热点推荐