|
|
1
5
因为
当线条以
另一个唯一的逻辑实现是打印3和4以调用foo,但这似乎不是很有用。
您还可以通过以下方式查看:
这不是有效的代码,但它演示了如何工作。应用通常的宏扩展规则,就可以得到所得到的输出。 |
|
|
2
3
因为
|
|
|
3
2
因为你在其中定义了一个
|
|
|
4
0
替换foo需要对预先定义的指令行进行评估。据我所知,这是因为,没有第二个预处理过程来评估“线”。 因此,根据第7行的foo解释行,对\uu行进行评估。 在预处理阶段,根据翻译单元中源代码中出现的确切行号,对代码中后续行中的uu line_uuu的用法进行了真正的评估。 |
|
TSG · 创建定义编译器变量并调用方法的C++宏 1 年前 |
|
Edward Falk · 你能比较C预处理器中的两个常量指针吗? 1 年前 |
|
|
ma1169 · 宏:不应忽略void值 2 年前 |
|
|
Bhargav Patil · 运算符的大小并尝试打印数组 2 年前 |
|
|
David Robie · VIM:寄存器中填充字符断点宏的有向图 2 年前 |
|
|
Sofia Zaiafarova · 定义宏并使用数据类型查找绝对值 2 年前 |
|
|
Daniel Muñoz · C[重复]中类宏函数的语法 2 年前 |
|
|
SupAl · 避免在没有宏的情况下构建对象 2 年前 |