免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7471 | 回复: 6
打印 上一主题 下一主题

请问下Linux里面自带数学库math.h吗? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-14 20:21 |只看该作者 |倒序浏览
我照书上写了个很简单的求解一元二次方程程序,可是总是提示没有定义sqrt这个开方的函数,Linux里面不自带这个库吗?我安装系统的时候还专门是定制安装的,选择了开发所需要的数学库啊?请问下如何查看有没有装这个数学库呢?

论坛徽章:
0
2 [报告]
发表于 2009-04-14 20:24 |只看该作者
使用gcc -lm 就可以了!lm是链接数学库。

论坛徽章:
0
3 [报告]
发表于 2009-04-14 20:42 |只看该作者

回复 #1 wjdid 的帖子

[root@rhel include]# ls math.h
math.h
[root@rhel include]# pwd
/usr/include


是你gcc的问题,ls正解。

论坛徽章:
0
4 [报告]
发表于 2009-04-14 20:45 |只看该作者
find

论坛徽章:
0
5 [报告]
发表于 2009-04-14 20:58 |只看该作者
原帖由 luotengfei520 于 2009-4-14 20:24 发表
使用gcc -lm 就可以了!lm是链接数学库。

不清楚的可以man gcc 查看

论坛徽章:
0
6 [报告]
发表于 2009-04-14 21:26 |只看该作者
谢谢大家了  现在明白了

论坛徽章:
3
天蝎座
日期:2013-11-11 10:18:392015年亚洲杯之沙特阿拉伯
日期:2015-04-06 15:51:08CU十四周年纪念徽章
日期:2017-01-07 22:56:29
7 [报告]
发表于 2014-10-04 11:19 |只看该作者
回复 5# kns1024wh


    不解,,我在程序里不是已经包含起来了吗 ? 但不用 gcc -lm math.c 就报错。本人纯新手一枚,勿怪,谢谢!
gcc math.c
/tmp/ccv4L8Oz.o:在函数‘main’中:
math.c.text+0x23):对‘sqrt’未定义的引用
math.c.text+0x40):对‘sqrt’未定义的引用
collect2: 错误:ld 返回 1


cat math.c
#include<stdio.h>
#include<math.h>

int main(void){
long int i,x,y,z;
for (i=1;i<100000;i++){ x=sqrt(i+100);
        /*x为加上100后开方后的结果*/
        y=sqrt(i+26;       
        /*y为再加上168后开方后的结果*/
        if(x*x==i+100&&y*y==i+26  
        /*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/
        printf("\n%ld\n",i);
        }
        return 0;
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP