【发布时间】:2011-01-18 08:38:22
【问题描述】:
不久前,我发现了一个(相当古老的)C 编译器,它以这种方式扫描宏(伪代码):
if line.startswith("#include") or line.startswith("#define"):
...
.. 哪一种对我提出了一个问题,宏应该真正放在哪里,在一行的开头,就像这样:
void stuff()
{
#if defined(WIN32) || defined(_WIN32)
...
#else
#if defined(__GNUC__)
...
#else
...
#endif
#endif
}
或者更确切地说是这样(我就是这样做的,以提高可读性):
void stuff()
{
#if defined(WIN32) || defined(_WIN32)
...
#else
# if defined(__GNUC__)
...
# else
...
# endif
#endif
}
Preprocessor 代码的缩进方式是否标准化,也就是说,无论我如何缩进它,它总是以相同的方式工作?
【问题讨论】:
-
喜欢伪代码:D。 “伪代码”是一门很棒的语言。
标签: c++ c c-preprocessor