作者MaxHaru (懂得放手..才是王道)
看板C_and_CPP
标题[讨论] 多行#define的用法
时间Fri Apr 1 16:47:03 2016
大家好,
我有一个问题关於#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
谢谢大家..
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.173.191.71
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1459500426.A.733.html
1F:→ MOONRAKER: #if请放在#define外面 你会把外裤穿在内裤里面吗 04/01 16:52
2F:→ MOONRAKER: 同是preproc dir还想包到#define里面 不会太有创意吗 04/01 16:53
3F:→ MOONRAKER: 第一个问题也是 \其实是C的「续行」 04/01 17:54
4F:→ MOONRAKER: 看起来好像用 \ 可以一直写多行macro 其实是接成一行 04/01 17:55
5F:→ MaxHaru: 但我需要#define一个很大的资料串, 又要能根据#if来增减 04/01 17:56
6F:→ MaxHaru: 有什麽方法可以实现这种做法吗? 04/01 17:57
7F:→ MOONRAKER: \ 右边本来就不准写东西 04/01 17:58
8F:→ MOONRAKER: 资料很多用fopen读进来不就结了 04/01 18:04
9F:→ MOONRAKER: 要增要减读多少 用命令列参数控制 04/01 18:05
10F:→ MOONRAKER: 资料量改变就要重新compile 这样是有哪里好了 04/01 18:06
12F:→ james732: 我指的是语法的部份 04/01 18:15
13F:→ MaxHaru: N大,谢谢你的建议,资料改变要重新compile确实是一个问 04/02 09:43
14F:→ MaxHaru: 题,我再想想怎修正这个问题, 04/02 09:43