我很难理解编译器是如何工作的,特别是在处理头文件和库文件时容易混淆。希望有人能够帮我澄清一下。
我很难理解编译器是如何工作的,特别是在处理头文件和库文件时容易混淆。希望有人能够帮我澄清一下。
库就像裹着白色长线的死木乃伊一样。它们是死的。唯一释放它们的方法是通过头文件。头文件包含将它们复活的方法,它们可以被多次复活(代码重用)。
Math.h
是一个头文件,其中包含了像sqrt()
、pow()
等函数调用的原型,而libm.lib
、libmmd.lib
、libmmd.dll
是一些数学库。简单来说,头文件就像名片,库就像真实的人,所以我们使用名片(头文件)来联系到实际的人(库)。库中的代码只会在需要时存储为头文件。整个头文件将被存储,这样可以节省处理器存储空间。