首页
社区
课程
招聘
未解决 [求助]动态连接文件“libc.so.6”和“libpthread.so.0”有什么作用呢?其中包含了哪些功能函数?
发表于: 2020-12-22 15:19 3459

未解决 [求助]动态连接文件“libc.so.6”和“libpthread.so.0”有什么作用呢?其中包含了哪些功能函数?

2020-12-22 15:19
3459

请问各位:动态连接文件“libc.so.6”和“libpthread.so.0”有什么作用呢?其中包含了哪些功能函数?


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 20
活跃值: (78)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
libc 是 Linux 下的 ANSI C 函数库.ANSI C 函数库是基本的 C 语言函数库,包含了 C 语言最基本的库函数。这个库可以根据头文件划分为 15 个部分,其中包括:
<ctype.h>:包含用来测试某个特征字符的函数的函数原型,以及用来转换大小写字母的函数原型;
<errno.h>:定义用来报告错误条件的宏;
<float.h>:包含系统的浮点数大小限制;
<math.h>:包含数学库函数的函数原型;
<stddef.h>:包含执行某些计算 C 所用的常见的函数定义;
<stdio.h>:包含标准输入输出库函数的函数原型,以及他们所用的信息;
<stdlib.h>:包含数字转换到文本,以及文本转换到数字的函数原型,还有内存分配、随机数字以及其他实用函数的函数原型;
<string.h>:包含字符串处理函数的函数原型;
<time.h>:包含时间和日期操作的函数原型和类型;
<stdarg.h>:包含函数原型和宏,用于处理未知数值和类型的函数的参数列表;
<signal.h>:包含函数原型和宏,用于处理程序执行期间可能出现的各种条件;
<setjmp.h>:包含可以绕过一般函数调用并返回序列的函数的原型,即非局部跳转;<locale.h>:包含函数原型和其他信息,使程序可以针对所运行的地区进行修改。
地区的表示方法可以使计算机系统处理不同的数据表达约定,如全世界的日期、时间、美元数和大数字;
<assert.h>:包含宏和信息,用于进行诊断,帮助程序调试。

libpthread.so 属于 POSIX多线程库。进程需要多线程的时候使用,对应函数在pthread.h头文件。
2020-12-24 22:30
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3

# libc.so.6
libc库是glibc的动态库,主要包含C语言的库函数,如memcpy memset 等常用函数的动态库。每个不同glibc的版本不同。

# libpthread.so.0
libpthread库是glibc的多线程库,主要包含多线程变成时 pthread_xxx 开头的函数。

如果你想要的函数列表在Linux x86的平台可以使用如下命令查看:

    nm -D /lib/x86_64-linux-gnu/libc.so.6
    nm -D /lib/x86_64-linux-gnu/libpthread.so.0

2020-12-25 11:05
0
雪    币: 1334
活跃值: (1995)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4

libc 和 libpthread 算是linux最重要的基础库了吧,升级也麻烦,曾经被这两个库坑过。最近新版的glib还多加了几个实用函数比如

pthread_rwlock_XXX 这类的函数。

最后于 2020-12-25 11:20 被库尔编辑 ,原因:
2020-12-25 11:15
1
游客
登录 | 注册 方可回帖
返回
//