Java中的“导入”行为与C/C++中的“#include”行为相同吗?具体来说,它会包含它正在导入的整个库还是仅包含在后续代码中调用的类和方法?

最佳答案

#include既不执行“导入”库,也不执行类或模块。
#include指令仅告诉预处理器包括另一个文本文件(源)的内容。就这样。

将文件A #include编码文件B的预处理结果传递给编译器,就好像它们是一个文件一样,文件B粘贴到文件A中的#include指令所在的位置。

为了明确说明这一点:这一切发生在于任何编译,代码生成之前

副作用是,C/C++预处理器可以独立于编译器使用,以处理
任何类型的文本文件输入。

可能有人争辩说,像#include这样的预处理程序语句“实际上并不是C/C++语言的一部分”,因为用C/C++编写任何程序实际上并不需要它们,因为它们从未传递给编译器。

在(标准)C/C++编程环境中不使用表达式import,因为没有要导入的内容。

C/C++模块在源代码级别之前的上组合在一起,或者在编译之后的链接器组合在一起。

10-07 19:25
查看更多