当前位置: 技术问答>linux和unix
大家帮我看一段程序,关于sqrt函数的问题,高分等待!
来源: 互联网 发布时间:2014-12-23
本文导语: //aaa.c #include int main() { double i,j; i=4.0; j=sqrt(i); printf("The result is %fn",j); return 1; } 为何我用gcc -o aaa aaa.c编译时说sqrt没有定义? 另一个问题,我看到好多c例子程序,其中里面的#inclu...
//aaa.c
#include
int main()
{
double i,j;
i=4.0;
j=sqrt(i);
printf("The result is %fn",j);
return 1;
}
为何我用gcc -o aaa aaa.c编译时说sqrt没有定义?
另一个问题,我看到好多c例子程序,其中里面的#include 后面都没有头文件名(如下面),为什么?我把这些程序拷贝编译后,说#include 后面必须跟头文件的。
如:
#include
#include
#include
main()
{
....
}
#include
int main()
{
double i,j;
i=4.0;
j=sqrt(i);
printf("The result is %fn",j);
return 1;
}
为何我用gcc -o aaa aaa.c编译时说sqrt没有定义?
另一个问题,我看到好多c例子程序,其中里面的#include 后面都没有头文件名(如下面),为什么?我把这些程序拷贝编译后,说#include 后面必须跟头文件的。
如:
#include
#include
#include
main()
{
....
}
|
1。gcc -o aaa aaa.c -lm
linux下使用数学库必须加-lm进行编译
2。那时懒得写,只是个例子,呵呵
linux下使用数学库必须加-lm进行编译
2。那时懒得写,只是个例子,呵呵
|
gcc -o aaa aaa.c -lm
加上数学库
加上数学库
|
仔细看看gcc的用法吧,毕竟人家支持那么多语言的编译,复杂一点也是应该的。
还有就是include后面加的内容如果是最基本的,有人就不写了,这可能也是一种风格吧。
还有就是include后面加的内容如果是最基本的,有人就不写了,这可能也是一种风格吧。
|
自基本的就是最常用的,你学过谈好强的《c语言程序设计》吗,数最后就有最常用的函数,呵呵
招本c含书库看看吧,呵呵
招本c含书库看看吧,呵呵
|
man一下这个函数,如果需要连接某个库,可能会告诉你编译选项,比如man sqrt会有这么一句:
cc [ flag ... ] file ... -lm [ library ... ]
#man sqrt
正在重新格式化页面。请等待... 完成
Mathematical Library Functions sqrt(3M)
NAME
sqrt - square root function
SYNOPSIS
cc [ flag ... ] file ... -lm [ library ... ]
#include
double sqrt(double x);
DESCRIPTION
The sqrt() function computes the square root of x.
cc [ flag ... ] file ... -lm [ library ... ]
#man sqrt
正在重新格式化页面。请等待... 完成
Mathematical Library Functions sqrt(3M)
NAME
sqrt - square root function
SYNOPSIS
cc [ flag ... ] file ... -lm [ library ... ]
#include
double sqrt(double x);
DESCRIPTION
The sqrt() function computes the square root of x.