【发布时间】:2010-10-21 19:18:00
【问题描述】:
我知道#defines 等通常从不缩进。为什么?
我目前正在编写一些代码,其中包含#defines、#ifdefs、#elses、#endifs 等的可怕混合。所有这些通常与普通 C 代码混合. #defines 的非缩进使它们难以阅读。缩进代码与非缩进 #defines 的混合是一场噩梦。
为什么#defines 通常不缩进?是否有不缩进的原因(例如下面的代码)?
#ifdef SDCC
#if DEBUGGING == 1
#if defined (pic18f2480)
#define FLASH_MEMORY_END 0x3DC0
#elif defined (pic18f2580)
#define FLASH_MEMORY_END 0x7DC0
#else
#error "Can't set up flash memory end!"
#endif
#else
#if defined (pic18f2480)
#define FLASH_MEMORY_END 0x4000
#elif defined (pic18f2580)
#define FLASH_MEMORY_END 0x8000
#else
#error "Can't set up flash memory end!"
#endif
#endif
#else
#if DEBUGGING == 1
#define FLASH_MEMORY_END 0x7DC0
#else
#define FLASH_MEMORY_END 0x8000
#endif
#endif
【问题讨论】:
标签: c c-preprocessor indentation code-formatting