当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 5 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : gcc编程所遇问题
帖子发表于 : 2013-02-27 0:27 

注册: 2012-12-16 15:43
帖子: 2074
系统: debian
送出感谢: 8
接收感谢: 28
以下是我的程序代码
#include<stdio.h>
#include<math.h>
void main()
{
double a[10],b[10]; /*½ÚµãÊýΪ10*/
int i,j,n;
double h=45,x=110,y=0.01,m,m1,t; /*xΪµ¼ÈÈϵÊý£¬yΪÀߺñ*/
m1=h*2/x/y;
m=sqrt(m1);
for(i=0;i<10;i++)
{
a[i]=b[i]=1;
}
for(i=1,j=1;n<9;i++,j++)
{
if(i==1) n=0;
if(i==9) b[j]=a[j-1];
else b[j]=(1/(2+m*m*0.01*0.01))*(a[i+1]+b[j-1]);
if(fabs((a[i]-b[j])/a[i])<=0.00000001) n++;
a[i]=b[j];
if(i==9) i=1,j=1;
}
for(i=0;i<=9;i++)
用gcc **.c -o ××.exe出现如下错误
/tmp/ccBklkVW.o: In function `main':
c.c:(.text+0x61): undefined reference to `sqrt'
collect2: error: ld returned 1 exit status
不知道是什么原因?


页首
 用户资料  
 
2 楼 
 文章标题 : Re: gcc编程所遇问题
帖子发表于 : 2013-02-27 0:46 

注册: 2012-03-31 3:29
帖子: 1554
送出感谢: 2
接收感谢: 121
编译时命令行加上“-lm”。。。


_________________
16.04-->14.04


页首
 用户资料  
 
3 楼 
 文章标题 : Re: gcc编程所遇问题
帖子发表于 : 2013-02-27 23:24 

注册: 2012-12-16 15:43
帖子: 2074
系统: debian
送出感谢: 8
接收感谢: 28
taohunter 写道:
编译时命令行加上“-lm”。。。

这是为什么?是因为要用其它的库文件吗?


页首
 用户资料  
 
4 楼 
 文章标题 : Re: gcc编程所遇问题
帖子发表于 : 2013-02-27 23:26 
头像

注册: 2010-06-16 1:05
帖子: 14668
地址: Tencent
系统: Mac OS X
送出感谢: 1
接收感谢: 153
因为#include<math.h>


_________________
twitter求fo:http://twitter.com/maplebeats
博客求踩:http://maplebeats.com


页首
 用户资料  
 
5 楼 
 文章标题 : Re: gcc编程所遇问题
帖子发表于 : 2013-02-28 11:36 

注册: 2011-03-10 7:43
帖子: 291
送出感谢: 0 次
接收感谢: 2
因为gcc默认不链接除libc以外的库,而sqrt()在libm里被定义,所以需要链接。
http://stackoverflow.com/questions/4606301/gcc-why-the-lm-flag-is-needed-to-link-the-math-library


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 5 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译