前言
代码仓:https://sourceware.org/git/glibc.git
gitweb:https://sourceware.org/git/?p=glibc.git
tar包:http://ftp.gnu.org/gnu/glibc/
目录结构
类型 | 名称 | 说明 |
---|---|---|
d | argp | 分层参数解析,在 getopt 上分层 |
d | assert | 断言 |
d | benchtests | glibc 微基准套件自动为指定函数生成代码,为给定输入重复构建和调用它们,以提供函数的一些基本性能属性。 |
d | bits | 一些类型,宏常量的定义 |
d | catgets | 从消息目录(catalog)中获取消息 |
d | ChangeLog.old | |
d | conform | conformance tests一致性测试 |
d | crypt | 安全加密,包括:md5、sha256、sha512、UFC-crypt等 |
d | csu | c startup code,c启动代码 |
d | ctype | character type,字符处理 |
d | debug | 调试,包含大量check文件/函数 |
d | dirent | 目录操作 |
d | dlfcn | dynamic loading function,运行时动态加载函数 |
d | elf | Executable and Linkable Format,可执行连接文件格式,elf相关操作 |
d | gmon | 编译和链接程序时,使用-pg选项,gcc 在应用程序的每个函数中都加入了一个名为mcount(or“_mcount”, or“__mcount”)的函数,也就是说-pg编译的应用程序里的每一个函数都会调用mcount, 而mcount会在内存中保存一张函数调用图,并通过函数调用堆栈的形式查找子函数和父函数的地址。这张调用图也保存了所有与函数相关的调用时间,调用次数等等的所有信息。程序运行结束后,会在程序退出的路径下生成一个 gmon.out文件。这个文件就是记录并保存下来的监控数据。可以通过命令行方式的gprof(GNU profiler)或图形化的Kprof来解读这些数据并对程序的性能进行分析。 |
d | gnulib | The GNU Portability Library,GNU 可移植性库 |
d | grp | groupd,用户组相关操作 |
d | gshadow | group shadow,影子组相关操作 |
d | hesiod | Hesiod 名称服务 |
d | htl | hurd thread library?? |
d | hurd | GNU Hurd 是 GNU 工程中取代 Unix 的核心,Hurd:Hird of Unix-Replacing Daemon,Hird:Hurd of Interfaces Representing Depth |
d | iconv | 转换相关 |
d | iconvdata | 转换相关的数据 |
d | include | 头文件目录 |
d | inet | Internet,网络相关 |
d | intl | internationalization,国际化 |
d | io | |
d | libio | |
d | locale | Localization,本地化,语言环境 |
d | localedata | 语言环境数据 |
d | login | 登录相关 |
d | mach | 匹配 |
d | malloc | 内存分配 |
d | manual | 手册 |
d | math | 数学库 |
d | mathvec | 矢量数学库 |
d | misc | 杂项 |
d | nis | Network Information Service,网络信息服务 |
d | nptl | Native POSIX Threads Library,本地POSIX线程库 |
d | nptl_db | nptl debug 本地POSIX线程调试库 |
d | nscd | Name Service Cache Daemon,名称服务缓存守护进程 |
d | nss | Network Security Services,网络安全服务 |
d | po | 基于GNU的gettext (.po) 文件 |
d | posix | POSIX (Portable Operating System Interface for Computing Systems) 标准接口的实现 |
d | pwd | password |
d | resolv | 域名解析器 resolver,一个根据主机名解析IP地址的库 |
d | resource | 资源相关 |
d | rt | Realtime |
d | scripts | 脚本工具 |
d | setjmp | 跳转 |
d | shadow | 影子数据库 |
d | signal | 信号模块 |
d | socket | 套接字模块 |
d | soft-fp | Software floating-point |
d | stdio-common | |
d | stdlib | 标准库 |
d | string | 字符串 |
d | sunrpc | remote procedure calling 远程过程调用 |
d | support | |
d | sysdeps | 系统依赖 |
d | sysvipc | ipc,进程间通信 |
d | termios | 终端 |
d | time | 时间 |
d | timezone | 时区 |
d | wcsmbs | 宽字符符号操作 |
d | wctype | 宽字符类型 |
- | abi-tags | —— |
- | aclocal.m4 | 根据已经安装的宏,用户定义宏和acinclude.m4文件中的宏,将configure.ac文件所需要的宏集中定义到文件 aclocal.m4中 |
- | config.h.in | |
- | config.make.in | |
- | configure | |
- | configure.ac | |
- | COPYING | |
- | COPYING.LIB | |
- | extra-lib.mk | |
- | gen-locales.mk | |
- | INSTALL | |
- | libc-abis | |
- | libof-iterator.mk | |
- | LICENSES | |
- | MAINTAINERS | |
- | Makeconfig | |
- | Makefile | |
- | Makefile.help | |
- | Makefile.in | |
- | Makerules | |
- | NEWS | |
- | o-iterator.mk | |
- | README | |
- | Rules | |
- | shlib-versions | |
- | test-skeleton.c | |
- | version.h |
后语
上面只是简单的介绍源码的结构,后面会更详细的进行研究学习!