【发布时间】:2015-01-08 18:55:27
【问题描述】:
当预处理器在源代码中遇到#include 指令时,它究竟做了什么?
我假设它将#include 替换为包含文件的内容,但我想要比我的假设更强大的东西。
除了看起来更好看之外,还有什么理由不直接将包含文件的内容输入源代码而不是#include?
【问题讨论】:
-
在 Google 上很容易找到答案,但由于我在 Stack Overflow 上找不到答案,所以我决定直接问。如果这是一个错误的决定,我很抱歉(或者如果我只是错过了一个包含对此答案的非常大胆的问题)。
-
公平地说,我从未真正验证过它,但它会将内容复制粘贴(包含)到文件中。这就是为什么你需要包含警卫之类的东西。
-
啊,问你在谷歌上找到的东西很好,用写得很好的答案回答你自己的问题也很好。不过,最好让问题更简洁。
-
C 标准中描述了词法转换规则,在这里您可以轻松满足您对形式的所有好奇心。
-
@ShayHacohen:我不确定 SO 是否是复制粘贴大量标准语言的好地方。 cppreference 之类的东西似乎更适合这项任务。
标签: c include c-preprocessor