像在C / C ++中一样,程序首先被提供给预处理器以包含文件并执行宏扩展等...然后被提供给编译器以将代码转换为汇编格式,然后过程继续进行。但是在Java中我看不到为什么要使用预处理器,那么通常由预处理器处理的所有任务又由谁处理呢?
预处理程序不是Java编译过程中必需的步骤。
在C / C ++中,存储在不同文件中的函数“包含”在其他文件中,这实际上意味着将它们完整地复制并粘贴到文档中。考虑到当时的硬件功能,这在当时是一个不错的主意,但是如今,更多现代语言使用了一种称为“符号导入”的语言。
符号导入涉及在另一个文件中查找符号,而不是直接使用文本。在Java中,这可能涉及导入常量或类。这些导入充当对其他文件中代码的引用。因此,Java不必麻烦预处理器来复制和粘贴代码并最终弄清楚哪些代码属于哪个文件,而是允许在语义级别上直接进行这些导入。
这使得预处理器对于语言的编译过程而言是不必要的,因此,连同其他原因一起被省略了。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句