【发布时间】:2018-10-11 13:10:44
【问题描述】:
我尝试进行研究,但无法找到预处理器的实际来源 - 它们是 IDE 的一部分(意味着每个 IDE 都有自己的实现)、独立程序还是编译器的一部分?
如果它们成为现代编译器的一部分,我想它在历史上不会是这样的。那时它是如何运作的?
谢谢
【问题讨论】:
-
它们的语法是语言的一部分(至少是标准的)。
-
它们是编译器工具套件的一部分,并且一直都是。与 IDE 无关。
-
没关系。每个工具链都可以随心所欲地实现它。
-
任何 C 或 C++ 编译器要么拥有自己的内部预处理器,要么与它调用的预处理器捆绑在一起。除此之外,IDE 可能包含扩展宏定义的能力,因为这对调试很有用,因此编译器将具有预处理器这一事实并不意味着 IDE 不能拥有自己的预处理器。此外,IDE 可以有自己的自定义预处理器,例如code blocks 有一个。
标签: c++ c compilation ide preprocessor