预处理器 IDE 是否仅具有功能?

Is the preprocessor IDE only feature?

本文关键字:功能 处理器 IDE 是否 预处理      更新时间:2023-10-16

我试图做我的研究,但无法找到预处理器的实际来源 - 它们是IDE的一部分(意味着每个IDE都有自己的实现(,独立程序还是编译器的一部分?

如果它们成为现代编译器的一部分,我想历史上不会这样。当时是怎么回事?

谢谢

几年后命名为"C">的最早语言工作始于1969年,基于BCPL语言。预处理器于 1972 年诞生

当时 C 仍在进行中,因此我们可以说预处理器自 C 本身以来就存在。从来没有没有预处理器的C编译器。C++是在 C 之后诞生的,它从一开始就有预处理器。

如果预处理器是与编译器不同的可执行文件,则无关紧要,但通常它是编译器的一部分。当时还不存在 IDE。


这是一个链接,您可以在其中阅读更多内容。这是关于预处理器的部分:

许多其他变化发生在 1972-3 年左右,但最重要的是引入了预处理器,部分是在 Alan Snyder [Snyder 74] 的敦促下,但也认识到 BCPL 和 PL/I 中可用的文件包含机制的实用性。它的原始版本非常简单,只提供包含的文件和简单的字符串替换:无参数宏的 #include 和 #define。此后不久,它被扩展,主要是由Mike Lesk和John Reiser扩展,以将宏与参数和条件编译合并。预处理器最初被认为是语言本身的可选附加组件。事实上,几年来,除非源程序在其开始时包含特殊信号,否则甚至不会调用它。这种态度持续存在,并解释了预处理器的语法与语言其余部分的不完全集成以及早期参考手册中其描述的不精确性。

不,预处理器是编译器的一部分。如果您从控制台编译(即直接使用 gcc 或其他编译器(,预处理仍然有效。

预处理是一个如此强大的工具,我相信它一直是编译器的一部分。或者,如果一些早期的编译器缺乏这个功能 - 好吧,人们必须手动完成预处理器的工作。