我知道#defines等通常不会缩进.为什么?
我正在使用一些代码,其中包含#defines,#ifdefs,#elses,#endifs等的可怕混合.所有这些通常与正常的C代码混合在一起.#defines 的非缩进使它们难以阅读.缩进代码与非缩进#defines的混合是一场噩梦.
不缩进#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 …Run Code Online (Sandbox Code Playgroud) 当有许多预处理器语句和许多#ifdef级联时,很难得到概述,因为通常它们不会缩进.例如
#ifdef __WIN32__
#include <pansen_win32>
#else
#include <..>
#ifdef SOMEOTHER
stmts
#endif
maybe stmts
#endif
Run Code Online (Sandbox Code Playgroud)
当我考虑缩进这些预处理器语句时,我担心会与一般缩进级别混淆.那么你如何以一种美丽的方式解决这个问题呢?
是否有一个选项如何禁用#if,#endif和其他指令在Visual Studio中的编辑 - >高级 - >格式文档后不被加入?
谢谢!