gpt4 book ai didi

java - 为什么预处理器不是像 C 和 C++ 这样的 Java 程序的一部分?

转载 作者:行者123 更新时间:2023-11-30 07:56:40 26 4
gpt4 key购买 nike

与在 C/C++ 中一样,程序首先被提供给预处理器以包含文件并执行宏扩展等...然后提供给编译器以将代码转换为汇编格式,然后该过程继续进行。但在 Java 中我这样做没有看到预处理器的使用。为什么会这样,然后谁来完成通常由预处理器处理的所有任务?

最佳答案

预处理器不是 Java 编译过程的必要步骤。

在 C/C++ 中,存储在不同文件中的函数被“包含”在其他文件中,这实质上意味着它们被完整地复制并粘贴到文档中。考虑到当时的硬件能力,这在当时是个不错的主意,但如今更多现代语言使用称为“符号导入”的东西。

符号导入涉及在另一个文件中查找符号,而不是直接使用文本。在 Java 中,这可能涉及导入常量或类。这些导入充当对其他文件中代码的引用。因此,Java 无需经历让预处理器复制和粘贴代码并最终确定哪些代码属于哪个文件的麻烦,而是允许直接在语义级别上执行这些导入。

这使得语言的编译过程不需要预处理器,因此连同其他原因被排除在外。

关于java - 为什么预处理器不是像 C 和 C++ 这样的 Java 程序的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41921151/

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