当前位置: 技术问答>linux和unix
关于stdio.h中的函数,请高手帮忙!
来源: 互联网 发布时间:2015-02-11
本文导语: #include #include int main(void) { double pi = M_PI; double Sqrt_Result; Sqrt_Result = sqrt(pi); return 0; } 这是一段很简单的求pi的开方的程序,但在GCC下编译时总不能通过,情况如下: [user@server1 c]$ gcc pisqrt...
#include
#include
int main(void)
{
double pi = M_PI;
double Sqrt_Result;
Sqrt_Result = sqrt(pi);
return 0;
}
这是一段很简单的求pi的开方的程序,但在GCC下编译时总不能通过,情况如下:
[user@server1 c]$ gcc pisqrt.c
/tmp/ccegunQd.o: In function `main':
/tmp/ccegunQd.o(.text+0x41): undefined reference to `sqrt'
collect2: ld returned 1 exit status
这里有两个疑问:
(我在Redhat8.0的默认环境下进行编译!)
1:sqrt()为什么出错(换成stdio.h中的其他程序也一样),但stdio.h中定义的常量M_PI确可以成功使用?
2:出错信息中的“/tmp/ccegunQd.o”提示是指什么?(源文件放在目录c下,编译也在c下进行)
|
gcc pisqrt.c -lm
数值处理函数在libm.so里面所以要加个-lm
/tmp/ccegun0d.o只是个编译过程中的临时文件不用管它。
数值处理函数在libm.so里面所以要加个-lm
/tmp/ccegun0d.o只是个编译过程中的临时文件不用管它。
|
gcc pisqrt.c /usr/lib/libstdc++.so.2.8
库的名字可能不一样
库的名字可能不一样