[讨论] 多行#define的用法

楼主: MaxHaru (懂得放手..才是王道)   2016-04-01 16:47:03
大家好,
我有一个问题关于#define想提出来跟大家请教,
#define使用上可以是单行或是多行,
在多行的#define上只要在行尾加上反斜线\就可以了,
Ex: #define ABC AAA,\
BBB,\
CCC
如果想要在多行的#define上加入注触或#if等敍述,
似乎会有问题..
Ex: #define ABC AAA,\ /*comment*/
#if SUPPORT_BBB
BBB,\
#endif
CCC
请教大家, 有什么方法可以做到加注解或#if在多行#define呢?
目前知道的是, 把注解放前面是可行的,
Ex: #define ABC /*comment*/AAA,\
/*comment*/CCC
谢谢大家..
作者: MOONRAKER (㊣牛鹤鳗毛人)   2016-04-01 16:52:00
#if请放在#define外面 你会把外裤穿在内裤里面吗同是preproc dir还想包到#define里面 不会太有创意吗第一个问题也是 \其实是C的“续行”看起来好像用 \ 可以一直写多行macro 其实是接成一行
楼主: MaxHaru (懂得放手..才是王道)   2016-04-01 17:56:00
但我需要#define一个很大的资料串, 又要能根据#if来增减有什么方法可以实现这种做法吗?
作者: MOONRAKER (㊣牛鹤鳗毛人)   2016-04-01 17:58:00
\ 右边本来就不准写东西资料很多用fopen读进来不就结了要增要减读多少 用命令列参数控制资料量改变就要重新compile 这样是有哪里好了
作者: james732 (好人超)   2016-04-01 18:15:00
觉得跟我想做的有点像 #1Mya385w (C_and_CPP) XD我指的是语法的部份
楼主: MaxHaru (懂得放手..才是王道)   2016-04-02 09:43:00
N大,谢谢你的建议,资料改变要重新compile确实是一个问题,我再想想怎修正这个问题,

Links booklink

Contact Us: admin [ a t ] ucptt.com