可能的重复:
为什么必须链接C 中的数学库? https://stackoverflow.com/questions/1033898/why-do-you-have-to-link-the-math-library-in-c
当我编写一个使用以下函数的程序时math.h
库,为什么我必须显式链接到libm
即使它们是 C 标准库的一部分?
例如,当我想使用sin()
我需要的功能#include <math.h>
但我还需要通过-lm
到海湾合作委员会。但对于标准库中的任何其他库,我不必这样做。为什么有区别?
在过去,链接器速度很慢,将大部分未使用的数学代码与其余代码分开可以使编译过程变得更快。今天的差异不是很大,所以您可以添加-lm
默认编译器配置的选项。
请注意,标头<math.h>
(或任何其他标头)不包含代码。它包含有关代码的信息,特别是how来调用函数。代码本身位于库中。我的意思是,你的程序不使用"<math.h>
图书馆”,它使用数学库并使用在<math.h>
header.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)