当前位置: 技术问答>linux和unix
在Linux操作系统下,gcc编译的怪问题,pow(2.0,3.0)=?
来源: 互联网 发布时间:2016-07-17
本文导语: 在Linux操作系统下,gcc编译的怪问题,pow(2.0,3.0)=? 在程序中, int main(void){ double x,y,z; x=2.0; y=3.0; z=pow(x,y);//////但z=pow(2.0,3.0)正确地得出8.000000 竟编译通不过,出现错误: undefined reference to 'pow' | gcc -lm ...
在Linux操作系统下,gcc编译的怪问题,pow(2.0,3.0)=?
在程序中,
int main(void){
double x,y,z;
x=2.0;
y=3.0;
z=pow(x,y);//////但z=pow(2.0,3.0)正确地得出8.000000
竟编译通不过,出现错误:
undefined reference to 'pow'
在程序中,
int main(void){
double x,y,z;
x=2.0;
y=3.0;
z=pow(x,y);//////但z=pow(2.0,3.0)正确地得出8.000000
竟编译通不过,出现错误:
undefined reference to 'pow'
|
gcc -lm *.c
|
#include只是包含了要使用的数学函数库的头文件,其中仅仅包含了相关数学函数的声明,其真正的函数体以库的形式封装起来了,所以在链接的时候需要将该库链接进来,即-lm就可以了!
|
正解,看来不仅仅涉及编译的问题,对原理也要有所了解
|
你用了pow()的数学函数库,当然要用 -lm 链接该库了。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。