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