gpt4 book ai didi

c++ - 想要 GCC 预处理器的清晰解释

转载 作者:太空狗 更新时间:2023-10-29 21:01:36 28 4
gpt4 key购买 nike

读这篇文章时 document ,在它的最后,有一句话:

Historically, compilers for many languages, including C++ and Fortran, have been implemented as “preprocessors” which emit another high level language such as C.

对预处理器一无所知,有文档吗?这是否意味着所有这些语言都将被翻译成 C 源代码?

最佳答案

我认为使用术语源到源转换器会更好,而不是“预处理器”,这使得它的含义含糊不清,但它不是使用它也没有任何错误。

基本上,编译器是将源代码从高级编程语言翻译成低级语言(例如,汇编语言或机器代码)的计算机程序。但是问题中的文档说:

Historically, compilers for many languages, including C++ and Fortran, have been implemented as “preprocessors” which emit another high level language such as C.

根据此描述,可以说编译器在早期实现作为源到源转换器。翻译器也是预处理器的一种形式,但它不同于程序中使用的预处理器。

A translator is a computer program that translates a program written in a given programming language into a functionally equivalent program in a different language.

现在,来到程序中使用的预处理器,让我们举个例子:

#include <stdio.h>// a PREPROCESSOR directive

预处理器是在执行前处理源文件的程序主要编译发生,(类似于翻译器)但不同之处在于 HERE 它处理名称以#开头的指令

这里的#include是一个指令。该指令使预处理器将 stdio.h 文件的内容添加到您的程序。这是一个典型的预处理器操作:在源代码中添加或替换文本在编译之前。

关于c++ - 想要 GCC 预处理器的清晰解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17894433/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com