C++ c中定义的下接
我得到了输出C++ c中定义的下接,c++,c,c-preprocessor,C++,C,C Preprocessor,我得到了输出 #define print(args) printf args print(("Hello")); 如果我叫print,效果很好。 你能解释一下它是如何工作的吗?这是一个宏的例子 编译程序时,第一步是预处理器 预处理器将查找您的宏: Hello 这意味着如果你的程序中有 #define print(args) printf args 将被替换为 print(<some text>) 如果将=args=(“Hello”),则预处理器将替换 print(("Hell
#define print(args) printf args
print(("Hello"));
如果我叫print,效果很好。
你能解释一下它是如何工作的吗?这是一个宏的例子 编译程序时,第一步是预处理器 预处理器将查找您的宏:
Hello
这意味着如果你的程序中有
#define print(args) printf args
将被替换为
print(<some text>)
如果将
=args
=(“Hello”)
,则预处理器将替换
print(("Hello"));
与
整条线路将是:
printf ("Hello")
这是一个宏的示例 编译程序时,第一步是预处理器 预处理器将查找您的宏:
Hello
这意味着如果你的程序中有
#define print(args) printf args
将被替换为
print(<some text>)
如果将
=args
=(“Hello”)
,则预处理器将替换
print(("Hello"));
与
整条线路将是:
printf ("Hello")
哪一个是合法的c代码来打印
Hello
很好的详细答案。不过,关于风格,这是:“首先运行编译器。在激活编译器之前,程序会发现”我觉得有点混乱,或者至少不清楚。什么是“计划”?只有在阅读了一半的答案后,你才能给出一个提示(“预处理器”)它可能是什么。依我看,它拼错了。这里的“程序”可能是一个预处理器。预处理器宏实际上是文本的虚拟替换,没有任何语义/语法分析(这就是为什么建议宏避免使用constexpr函数),这是一个非常详细的答案。不过,关于风格,这是:“首先运行编译器。在激活编译器之前,程序会发现”我觉得有点混乱,或者至少不清楚。什么是“计划”?只有在阅读了一半的答案后,你才能给出一个提示(“预处理器”)它可能是什么。依我看,它拼错了。这里的“程序”可能是一个预处理器。预处理器宏实际上是文本的虚拟替换,没有任何语义/语法分析(这就是为什么建议宏避免使用constexpr函数)