数学函数库

一、math.h

  • 正真的数学运算的函数定义在mathcalls.h中,在使用数学库函数时只要包含math.h即可。

二、计算开平方

  • 开平方函数原型:double sqrt(double x);
#include 
#include
int main(void)
{
        double a=16.0;
        double b=sqrt(a);
        printf("b=%lf.\n",b);
        return 0;
}
  • 注意区分编译时警告和链接时警告。
  • 链接错误意思是:sqrt函数有声明有引用但是没有定义没有函数体。
  • sqrt本身是库函数,在编译器中有其静态和动态的链接库。
  • c链接器的工作特点:因为库函数有很多,连接器去库函数目录搜索时间比较久,为了提升速度,链接器只是默认寻找几个最常用的库,如果是一些不常用的库函数被调用,需要程序员在链接时明确给出扩展库的名字。
  • 链接时可以用-lxxx来指示链接器去xxx中寻找这个函数

三、链接时加-lm

  • -lm就是告诉链接器到libm中去查找用到的函数。
  • ldd看可执行程序用到了那些库。
  • 在高版本的gcc中出现没有加-lm也能编译链接。

你可能感兴趣的:(数学函数库)