# man 3 sin.

一般来说,可以根据 link 使用的 flag 来推断用到的函数在哪个文件中。
比如 -lm , 相应的文件名应该为 libm.so,一般位于 /usr/lib/ 下面,即 /usr/lib/libm.so

比如我的机器上:
/tmp $ readelf -s /usr/lib/libm.so | grep sin
72: 0000000000030b80 466 FUNC WEAK DEFAULT 12 casinhf@@GLIBC_2.2.5
79: 0000000000038540 407 FUNC WEAK DEFAULT 12 casinhl@@GLIBC_2.2.5
113: 00000000000238c0 122 FUNC WEAK DEFAULT 12 asin@@GLIBC_2.2.5
116: 000000000002d960 223 FUNC WEAK DEFAULT 12 sinf@@GLIBC_2.2.5
119: 00000000000247f8 103 FUNC WEAK DEFAULT 12 sinh@@GLIBC_2.2.5
124: 00000000000356d0 67 FUNC WEAK DEFAULT 12 sinl@@GLIBC_2.2.5
132: 00000000000252d0 52 FUNC WEAK DEFAULT 12 sincos@@GLIBC_2.2.5
135: 000000000003018c 282 FUNC WEAK DEFAULT 12 casinf@@GLIBC_2.2.5
138: 0000000000026690 398 FUNC WEAK DEFAULT 12 casinh@@GLIBC_2.2.5
139: 0000000000037b14 262 FUNC WEAK DEFAULT 12 casinl@@GLIBC_2.2.5
194: 000000000002dcb4 119 FUNC WEAK DEFAULT 12 asinf@@GLIBC_2.2.5
195: 00000000000151dc 376 FUNC WEAK DEFAULT 12 asinh@@GLIBC_2.2.5
197: 0000000000035934 118 FUNC WEAK DEFAULT 12 asinl@@GLIBC_2.2.5
201: 000000000002f610 394 FUNC WEAK DEFAULT 12 sincosf@@GLIBC_2.2.5
205: 0000000000037190 46 FUNC WEAK DEFAULT 12 sincosl@@GLIBC_2.2.5
238: 000000000001b545 8034 FUNC WEAK DEFAULT 12 sin@@GLIBC_2.2.5
239: 0000000000025d30 275 FUNC WEAK DEFAULT 12 casin@@GLIBC_2.2.5

从中可以看到 sin 。

又比如 -lpthread, 则相应文件名为 libpthread.so, 以此类推。

可以通过“nm”命令查找我们想要找的函数,例如:sin函数,方法如下:

[root@lyb root]#nm –o /lib/*.so|grep sin

这时,查找(部分)结果如下:

……………………………………………………

/lib/libm-2.3.4.so:00008610 W sin

/lib/libm-2.3.4.so:00008610 t _sin

/lib/libm-2.3.4.so:000183e0 W sinl

/lib/libm-2.3.4.so:000183e0 t _sinl

……………………………………………………

在 /lib/libm-2.3.2.so:00008610 W sin 中,/lib是系统存放函数的默认位置,libm-2.3.2.so是包含sin函数的函数库名,其中,所有函数库的名都以“lib”开头,跟着的字母“m”是包含sin函数的函数库的真正的名子,“-2.3.2”是版本号,“.so”说明它的动态库。

在使用“ - l”参数时,通常的习惯是出去“lib”函数库头和后面的版本号,使用真名和参数“-l”连接,形成“- lm”。于是,我们需要在gcc找不到库时,可是使用“-l”直接给定库名。

查找math.h路径:

whereis math.h

math: /usr/include/math.h

linux sin()编译相关推荐

  1. 在Windows和Linux上编译gRPC源码操作步骤(C++)

    gRPC最新发布版本为v1.23.0,下面以此版本为例说明在Windows和Linux下编译过程. Windows7/10 vs2103编译gRPC源码操作步骤: 1. 需要本机已安装Git.CMak ...

  2. RH系列linux上编译android2.3(gingerbread)

    在RH系列linux上编译android2.3(gingerbread)的过程如下: 官方源码及ubuntu编译过程在(http://source.android.com/source/index.h ...

  3. linux 保存编译log,(转)Linux下编译安装log4cxx

    一个项目的服务器端在Linux平台下,用到了开源日志库log4cxx,这个库是apache项目的一个子库.功能很不错.下面记录下它的编译和安装过程. 第一步安装apr-1.3.8,顺序不能错,它必须首 ...

  4. 编译linux内核的错误,linux内核编译错误

    原标题:linux内核编译错误 内核版本:2.6.14 交叉编译器: -linux-gcc 4.3.3 错误: arch/arm/mm/alignment.c: In function 'proc_a ...

  5. linux下编译make文件报错“/bin/bash^M: 坏的解释器,使用grep快速定位代码位置

    一.linux下编译make文件报错"/bin/bash^M: 坏的解释器 参考文章:http://blog.csdn.net/liuqiyao_01/article/details/415 ...

  6. 一份简单的在 Linux下编译及调试 C 代码的指南

    摘要: 一份简单的在 Linux下编译及调试 C 代码的指南 对于Linux下的C程序员来说,几乎天天都会和Linux打交道.但在很多人的眼中,Linux是一个易用性极差.靠命令驱动的操作系统,根本无 ...

  7. linux下软件编译终止,[2018年最新整理]linux下编译运行程序命令大全.ppt

    [2018年最新整理]linux下编译运行程序命令大全 1. 项目课题引入 2. Vi编辑器的使用方法 3. Linux中C语言程序的编辑 4. Linux中C语言程序的运行 5. 现场演示案例 课题 ...

  8. Linux内核编译和测试

    课程论文要求写的,顺便贴上来一部分. Linux内核编译和测试<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:of ...

  9. 2.4基于虚拟机的Linux内核编译

    今天把linux的内核重新编译了一下,周折颇多. 我是用vmware虚拟机,linux是redhat9.0. 编译的是自带内核2.4.28-8.主要是想把模块加载的选中. 再就是体验下linux内核编 ...

  10. 【Linux 内核】编译 Linux 内核 ④ ( 打开 Linux 内核编译 菜单配置 |菜单配置中的光标移动与选中状态 | 保存配置 | 配置项帮助文档 )

    文章目录 一.打开 Linux 内核编译 菜单配置 二.菜单配置中的光标移动与选中状态 三.保存配置 四.配置项帮助文档 一.打开 Linux 内核编译 菜单配置 执行 make menuconfig ...

最新文章

  1. 模拟linux文件系统的设计及实现_Linux后台服务器开发中,内存池设计与实现(c/c++)...
  2. 051_InfiniteScroll无限滚动
  3. 4.1 陷入不归路的调试-机器学习笔记-斯坦福吴恩达教授
  4. OpenStack开发学习笔记01
  5. 【招募】腾讯技术开放日·5G多媒体专场
  6. ARCSDE的直接连接(SQLSERVER)
  7. 红皮书:变量、作用域和内存问题(四)
  8. 【c++】【转】C++ sizeof 使用规则及陷阱分析
  9. cmd杀死MySQL进程命令
  10. python代码实例-python程序实例
  11. centos 7 之nginx
  12. Nodejs 中文分词
  13. 新老系统迁移及整合方案
  14. ​常见的8个概率分布公式和可视化
  15. ps换脸教程:ps换脸教程步骤具体,怎样选择复制层
  16. html 判断undefined,JS中 “is not defined” 如何判断defined,defined和undefined 的区别
  17. 中山大学2021计算机考研复试线,2021中山大学研究生复试分数线
  18. HTML新特性-网页排版
  19. Unhandled exception occurred whilst decorating page java.lang.ArrayIndexOutOfBoundsException: -1
  20. 七张图总结了我的2021年,心依然热,情依然真----感谢2021年的自己,感谢CSDN

热门文章

  1. VS2008 开发 Sharepoint Workflow 遇到的一些细节
  2. 短信验证码登录的实现
  3. 调用百度地图api接口并点击marker也就是标点跳转页面
  4. 10000marker_嘉美生物-精准的DNA分子量标准 Marker。
  5. 数据结构-二叉树的定义、创建和周游(前序、中序、后序和层序)
  6. 【老九学堂】【Java】初级编码规范
  7. 第三周学习总结和心得
  8. 移动硬盘的选择与购买
  9. 正则的replace方法详解
  10. 动态MAC地址和静态MAC地址