【发布时间】:2019-05-31 23:15:25
【问题描述】:
据我所知,一些数学函数包含在 libc 中,而另一些则包含在 libm 中。我通过实验发现了这一点:
$ nm --dynamic --defined-only /lib/x86_64-linux-gnu/libm.so.6 | grep -w abs
$ nm --dynamic --defined-only /lib/x86_64-linux-gnu/libc.so.6 | grep -w abs
T abs
是否有关于 libm 必须提供哪些数学函数的要求? libc 和 libm 是否一起提供了 C 标准所需的所有数学函数?
【问题讨论】:
-
libm 包含
math.h中声明的内容的定义。 -
"libc 和 libm 是否一起提供了 C++ 标准所需的所有数学函数?"不,只有C需要的。如果你需要了解一些具体的功能,我建议搜索this excellent reference site。
-
@EtiennedeMartel math.h 包含函数 abs,而 libm 没有。
-
不,显然 libc 和 libm 不提供所有 C++ 数学库。其中很多只是标题。
-
@MatthieuBrucher 刚才提到libm和libc必须只提供C函数