文章目录1. 前言2. 附录 C 安装 GNU C 库2.1. 配置和编译 GNU C 库2.2. 安装 C 库2.3. 推荐的编译工具2.4. 针对 GNU/Linux 系统的具体建议2.5. 报告错误3. 参考1. 前言
The GNU C Library Reference Manual for version 2.35
2. 附录 C 安装 GNU C 库
Appendix C Installin…
文章目录1. 前言2. 内部探测2.1. 内存分配探测2.2. 非本地 Goto 探测3. 参考1. 前言
The GNU C Library Reference Manual for version 2.35
2. 内部探测
Internal probes
为了帮助调试和监视内部行为,GNU C 库公开了使用 libc 提供程序标记的几乎零开销的 Syst…
文章目录1. 前言2. 调试支持2.1. 回溯3. 参考1. 前言
The GNU C Library Reference Manual for version 2.35
2. 调试支持
Debugging support
应用程序通常使用专用调试器程序进行调试。但有时这是不可能的,无论如何,在遇到问题时向开发人员提供尽可…
文章目录1. 前言2. 系统日志2.1. Syslog概述2.2. 提交系统日志消息2.2.1. 打开日志2.2.2. 系统日志2.2.3. 关闭日志2.2.4. 设置日志掩码2.2.5. 系统日志示例3. 参考1. 前言
The GNU C Library Reference Manual for version 2.35
2. 系统日志
Syslog
本章描述了用于发布和记…
文章目录1. 前言2. 管道和 FIFO2.1. 创建管道2.2. 到子进程的管道2.3. FIFO 特殊文件2.4. 管道 I/O 的原子性3. 参考1. 前言
The GNU C Library Reference Manual for version 2.35
2. 管道和 FIFO
Pipes and FIFOs
管道是一种进程间通信机制;一个进程写入管道的…
文章目录1. 前言2. 错误报告2.1. 检查错误2.2. 错误代码2.3. 错误信息3. 参考1. 前言
The GNU C Library Reference Manual for version 2.35
2. 错误报告
Error Reporting
GNU C 库中的许多函数检测并报告错误情况,有时您的程序需要检查这些错误情况。例如&…
文章目录1. 前言2. 搜索和排序2.1. 定义比较函数2.2. 数组搜索函数2.3. 数组排序函数2.4. 搜索和排序示例2.5. hsearch 函数2.6. tsearch 函数3. 参考1. 前言
The GNU C Library Reference Manual for version 2.35
2. 搜索和排序
Searching and Sorting
本章介绍用于搜索和…
文章目录1. 前言2. 加密函数2.1. 密码存储2.2. 生成不可预测的字节3. 参考1. 前言
The GNU C Library Reference Manual for version 2.35
2. 加密函数
Cryptographic Functions
GNU C 库仅包含一些特殊用途的加密函数:用于密码存储的单向哈希函数,以…
文章目录1. 前言2. 动态链接器2.1. 动态链接器自省3. 参考1. 前言
The GNU C Library Reference Manual for version 2.35
2. 动态链接器
Dynamic Linker
动态链接器负责加载动态链接的程序及其依赖项(以共享对象的形式)。 GNU C 库中的动态链接器还…
文章目录1. 前言2. 附录 B 库设施概要3. 参考1. 前言
The GNU C Library Reference Manual for version 2.35
2. 附录 B 库设施概要
Appendix B Summary of Library Facilities
本附录是 GNU C 库提供的头文件中声明的工具的完整列表。每个条目还列出了衍生每个设施的标准或…
前言
有时候基于好奇或遇到了BUG,想看看glibc中某些功能怎么具体实现的。除了调试汇编,还可以编译glibc源码然后调试。在上节《Modern C std::mutex底层原理-CSDN博客》中,我们用汇编调试了glibc,本节我们编译其源码来直接调试。…
sudo su git clone git://sourceware.org/git/glibc.git cd glibc git checkout glibc-2.28 mkdir build cd build …/configure --prefix “/home/build” make all make install
plus: 失败1: 要安bison gawk 失败2: 放到了虚拟机与mac的共享盘里,结果硬连接失败…
文章目录1. 前言2. 附录 D 库维护2.1. 添加新功能2.1.1. 平台特定类型、宏和函数2.2. GNU C 库中的符号处理2.2.1. GNU C 库中的 64 位时间符号处理2.3. 移植 GNU C 库2.3.1. sysdeps 目录层次结构的布局2.3.2. 将 GNU C 库移植到 Unix 系统3. 参考1. 前言
The GNU C Library …
文章目录1. 前言2. 附录 E 平台特定设施2.1. PowerPC 特定设施2.2. RISC-V 特定设施2.3. X86 特定设施3. 参考1. 前言
The GNU C Library Reference Manual for version 2.35
2. 附录 E 平台特定设施
Appendix E Platform-specific facilities
GNU C 库可以提供特定于机器的…
文章目录1. 前言2. 进程间通信2.1. 信号量2.1.1. System V 信号量2.1.2. POSIX 信号量3. 参考1. 前言
The GNU C Library Reference Manual for version 2.35
2. 进程间通信
Inter-Process Communication
本章描述了 GNU C 库进程间通信原语。
2.1. 信号量
Semaphores
G…
文章目录1. 前言2. 字符处理2.1. 字符分类2.2. 大小写转换2.3. 宽字符的字符类别确定2.4. 使用宽字符类的注意事项2.5. 宽字符的映射3. 参考1. 前言
The GNU C Library Reference Manual for version 2.35
2. 字符处理
Character Handling
处理字符和字符串的程序通常需要对…
文章目录1. 前言2. 输入/输出概述2.1. 输入/输出概念2.1.1. 流和文件描述符2.1.2. 文件位置2.2. 文件名2.2.1. 目录2.2.2. 文件名解析2.2.3. 文件名错误2.2.4. 文件名的可移植性3. 参考1. 前言
The GNU C Library Reference Manual for version 2.35
2. 输入/输出概述
Input…
文章目录1. 前言2. 非本地退出2.1. 非本地退出简介2.2. 非本地退出明细2.3. 非本地退出和信号2.4. 完整的上下文控制3. 参考1. 前言
The GNU C Library Reference Manual for version 2.35
2. 非本地退出
有时,当您的程序在一组深度嵌套的函数调用中检测到异常情…
终端则会显示
terminate called after throwing an instance of std::logic_errorwhat(): basic_string::_M_construct null not valid
参考Github库vscode-cpptools的issue #1738: Error on WSL: unable to open raise.c和#4686: Debugging Error:Unable to open raise.c&a…