h{font-weight:bold;color:green;font-size:105%}
p{font-size:100%}

linux下C语言程序中,若要用到math.h中的函数(如:sin(),log()等等)
用普通方法『$ gcc main.c -o main』调用<math.h>会出现错误,提示为:

main.c:(.text+0x00): undefinde reference to 'sin'
main.c:(.text+0x00): undefinde reference to 'log'
collect2: error: ld returned 1 exit status


这是因为 <math.h> 对应的库是/lib/libm.so.6 或 /usr/lib/libm.so,所以调用的时候需要在后面加:-lm
如下:

1 gcc mian.c -o main -lm
2 ./main

即可!
参考自:this


详细解释

使用 math.h 中声明的库函数还有一点特殊之处, gcc 命令行必须加 -lm 选项
因为数学函数位于 libm.so 库文件中(这些库文件通常位于/lib 目录下)
-lm 选项告诉编译器,我们程序中用到的数学函数要到这个库文件里找。
本书用到的大部分库函数(例如 printf )位于 libc.so 库文件中,使用 libc.so 中的库函数在编译时不需要加 -lc 选项,当然加了也不算错,因为这个选项是 gcc 的默认选项。

最新文章

  1. [转]Android逆向之动态调试总结
  2. X5 内核浏览器对json格式支持的一个小区别
  3. windows 8.1 在硬盘上创建扩展分区
  4. switch vpn 配置
  5. 开箱即用 - Memcache
  6. PHP 下载远程图片
  7. 大白话Vue源码系列目录
  8. 更新git源以便安装最新版本
  9. 【一天一道LeetCode】#202. Happy Number
  10. 【Android 应用开发】BluetoothServerSocket详解
  11. 怎么取cxgrid某一列的合计值
  12. 第一册:lesson eighty three.
  13. 机器学习系列-tensorflow-01-急切执行API
  14. vue环境配置脚手架环境搭建vue工程目录
  15. 和我一起打造个简单搜索之ElasticSearch集群搭建
  16. Hadoop HBase概念学习系列之HBase里的Zookeeper(二十一)
  17. 理解传说中的roll、yaw、pitch
  18. 带你看懂大数据采集引擎之Flume&amp;采集目录中的日志
  19. 自定义iconfont 图标库下载本地在移动App的使用及svg彩色图标
  20. linux将程序扔到后台并获取程序的进程号

热门文章

  1. ideal开发工具环境设置
  2. Mysql MariaDB安装
  3. C++中的指针和数组
  4. TCGA学习1--下载level3 level4数据
  5. ctci4.1
  6. IdentityServer4在Asp.Net Core中的应用(一)
  7. rdlc报表出现多余空白页面
  8. Android--------工具类StatusBarUtil实现完美状态栏
  9. Java连接MySQL数据库——代码
  10. less开发指南(一)- 小牛试刀