数学函数库

一、math.h

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

二、计算开平方

  • 开平方函数原型:double sqrt(double x);
#include <stdio.h>
#include<math.h>
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也能编译链接。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • math.h 数学函数库 一些数学计算的公式的具体实现是放在math.h里,具体有: 以下的函数 参数都是doub...
    阿洋12138阅读 9,914评论 0 1
  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 14,736评论 0 38
  • 1、c语言的函数有以下特点: (1)才源程序由函数组成,一个主函数main()+若干其他函数 C程序中的函数类似文...
    滕王阁序阅读 5,202评论 0 6
  • 动态链接,在可执行文件装载时或运行时,由操作系统的装载程序加载库。大多数操作系统将解析外部引用(比如库)作为加载过...
    小5筒阅读 10,872评论 0 3
  • 十一月,变化的十一月。 一号,接到通知,工作岗位发生了变化,这对我是一次机会,也是一次挑战。 面临新的工作领域、环...
    让黑白更精彩阅读 1,176评论 0 0