我知道
我正在处理一些代码,其中混杂着可怕的
为什么
#define
等通常不缩进。为什么?我正在处理一些代码,其中混杂着可怕的
#define
,#ifdef
,#else
,#endif
等。所有这些都经常与普通的C代码混合在一起。 #define
不缩进使它们难以阅读。混合缩进代码和非缩进#define
是一场噩梦。为什么
#define
通常不缩进?有没有不缩进的原因(例如下面的代码)?#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
#
放在第一个字符位置(例如,即使没有语法高亮,它也可以更好地突出预处理器指令),真正的问题是语法高亮逻辑并不实际匹配它正在突出显示的语法。(明确一点,我仍然+1了这个答案,我只是认为强调这些观点很重要。) - mtraceur