您的位置:首页 > 编程语言 > C语言/C++

gcc编译器下pow函数编译的问题

2016-07-06 09:50 399 查看

gcc编译报错:

/tmp/cc9vSr1B.o:在函数‘main’中:

daffodil.c:(.text+0xb8):对‘pow’未定义的引用

daffodil.c:(.text+0xda):对‘pow’未定义的引用

daffodil.c:(.text+0x105):对‘pow’未定义的引用

collect2: error: ld returned 1 exit status

解决方案:

gcc daffodil.c -lm

需要编译链接符号.

原因:

像 pow(10,2) 这种调用,gcc 在编译时就可以将其替换为对应的值(gcc 优化的一部分),从而不需要链接 pow 所在的数学库 libm;而像 pow(x,2); 这种调用,一般无法做这种替换,因此需要链接 libm。



手册上的介绍
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  gcc c语言