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。手册上的介绍
相关文章推荐
- 如何组织构建多文件 C 语言程序(二)
- 如何写好 C main 函数
- 在Windows平台下使用安装GCC(图)
- Lua和C语言的交互详解
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解
- C语言编程中统计输入的行数以及单词个数的方法
- C语言自动生成enum值和名字映射代码
- C语言练习题:自由落体的小球简单实例
- 使用C语言判断英文字符大小写的方法
- c语言实现的带通配符匹配算法
- C语言实现顺序表基本操作汇总
- C语言中进制知识汇总
- C语言判断一个数是否是2的幂次方或4的幂次方
- C语言中计算正弦的相关函数总结
- 使用C语言详解霍夫曼树数据结构