最近在做NDK相关的东西, 自然需要复习一波 C/CPP 基础, 涉及 include 添加头文件的时候,我就迷茫了。 为什么 C 中引用三方库中的方法时,还需要将方法声明在 头文件中, 而 Java 中 import 直接解决? 一番探索后发现, C 会直接把 include 中的内容在c文件中展开, 即在编译阶段将 include 中的内容直接添加至本文件中. 方法实现实在链接阶段完成的。 而 Java 是指定引用类的路径,在使用的时候通过classLoader进行加载。 后面想了下,也理解了 Java 和 C 在编译和运行方便速度不一样:Java编译速度较快,运行速度稍慢,而c语言的展开方式编译会非常慢,运行则很快。
展开
2
评论