gpt4 book ai didi

c - 为什么我必须显式链接 libm?

转载 作者:行者123 更新时间:2023-12-02 07:30:39 26 4
gpt4 key购买 nike

Possible Duplicate:
Why do you have to link the math library in C?

当我编写一个使用 math.h 中的函数的程序时库,为什么我必须显式链接到 libm即使它们是 C 标准库的一部分?

例如,当我想使用sin()时我需要的功能 #include <math.h>但我还需要通过 -lm到海湾合作委员会。但对于标准库中的任何其他库,我不必这样做。为什么会有差异?

最佳答案

过去,链接器速度很慢,将大部分未使用的数学代码与其余代码分开可以使编译过程变得更快。今天差异不是很大,所以您可以添加 -lm默认编译器配置的选项。

<小时/>

请注意 header <math.h> (或任何其他 header )不包含代码。它包含有关代码的信息,特别是如何调用函数。代码本身位于库中。我的意思是,您的程序不使用<math.h>库”,它使用数学库并使用<math.h>中声明的原型(prototype)。 header 。

关于c - 为什么我必须显式链接 libm?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5419366/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com