Jump To Close Expand all Collapse all Table of contents 在 RHEL 9 中开发 C 和 C++ 应用程序 使开源包含更多 对红帽文档提供反馈 1. 设置开发工作站 Expand section "1. 设置开发工作站" Collapse section "1. 设置开发工作站" 1.1. 先决条件 1.2. 启用调试和源存储库 1.3. 设置来管理应用程序版本 1.4. 设置以使用 C 和 C++ 开发应用程序 1.5. 设置调试应用程序 1.6. 设置以测量应用程序的性能 2. 创建 C 或 C++ 应用程序 Expand section "2. 创建 C 或 C++ 应用程序" Collapse section "2. 创建 C 或 C++ 应用程序" 2.1. RHEL 9 中的 GCC 2.2. 使用 GCC 构建代码 Expand section "2.2. 使用 GCC 构建代码" Collapse section "2.2. 使用 GCC 构建代码" 2.2.1. 代码表单之间的关系 2.2.2. 将源文件编译到对象代码 2.2.3. 使用 GCC 启用 C 和 C++ 应用程序 2.2.4. GCC 的代码优化 2.2.5. 使用 GCC 的强化代码选项 2.2.6. 连接代码以创建可执行文件 2.2.7. 例如:使用 GCC 构建一个 C 程序(在一个步骤中编译和链接) 2.2.8. 例如:使用 GCC 构建一个 C 程序(编译和连接在两个步骤中) 2.2.9. 例如:使用 GCC 构建一个 C++ 程序(在一个步骤中编译和链接) 2.2.10. 例如:使用 GCC 构建一个 C++ 程序(编译和连接在两个步骤中) 2.3. 将库与 GCC 搭配使用 Expand section "2.3. 将库与 GCC 搭配使用" Collapse section "2.3. 将库与 GCC 搭配使用" 2.3.1. 库命名规则 2.3.2. 静态和动态链接 2.3.3. 链接时间优化 2.3.4. 将库与 GCC 搭配使用 2.3.5. 在 GCC 中使用静态库 2.3.6. 使用 GCC 的动态库 2.3.7. 在 GCC 中使用静态和动态库 2.4. 使用 GCC 创建库 Expand section "2.4. 使用 GCC 创建库" Collapse section "2.4. 使用 GCC 创建库" 2.4.1. 库命名规则 2.4.2. soname 机制 2.4.3. 使用 GCC 创建动态库 2.4.4. 使用 GCC 和 ar 创建静态库 2.5. 使用 Make 管理更多代码 Expand section "2.5. 使用 Make 管理更多代码" Collapse section "2.5. 使用 Make 管理更多代码" 2.5.1. GNU make 和 Makefile 概述 2.5.2. 例如:使用 Makefile 构建 C 程序 2.5.3. make 文档 3. 调试应用程序 Expand section "3. 调试应用程序" Collapse section "3. 调试应用程序" 3.1. 使用调试信息启用调试 Expand section "3.1. 使用调试信息启用调试" Collapse section "3.1. 使用调试信息启用调试" 3.1.1. 调试信息 3.1.2. 使用 GCC 启用 C 和 C++ 应用程序 3.1.3. debuginfo 和 debugsource 软件包 3.1.4. 使用 GDB 获取应用程序或库的 debuginfo 软件包 3.1.5. 手动获取应用程序或库的 debuginfo 软件包 3.2. 使用 GDB 检查应用程序内部状态 Expand section "3.2. 使用 GDB 检查应用程序内部状态" Collapse section "3.2. 使用 GDB 检查应用程序内部状态" 3.2.1. GNU debugger(GDB) 3.2.2. 将 GDB 附加到进程 3.2.3. 使用 GDB 检查程序代码 3.2.4. 使用 GDB 显示程序内部值 3.2.5. 使用 GDB 断点在定义的代码位置停止执行 3.2.6. 使用 GDB 观察点停止对数据访问和更改执行 3.2.7. 使用 GDB 调试 fork 或线程程序 3.3. 记录应用程序交互 Expand section "3.3. 记录应用程序交互" Collapse section "3.3. 记录应用程序交互" 3.3.1. 用于记录应用程序交互的工具 3.3.2. 使用 strace 监控应用程序的系统调用 3.3.3. 使用 ltrace 监控应用程序的库功能调用 3.3.4. 使用 SystemTap 监控应用程序的系统调用 3.3.5. 使用 GDB 截获应用程序系统调用 3.3.6. 使用 GDB 截获应用程序处理信号 3.4. 调试 Crashed 应用程序 Expand section "3.4. 调试 Crashed 应用程序" Collapse section "3.4. 调试 Crashed 应用程序" 3.4.1. 核心转储:它们是什么以及如何使用它们 3.4.2. 使用内核转储记录应用程序崩溃 3.4.3. 使用内核转储检查应用程序崩溃状态 3.4.4. 使用 coredumpctl 创建和访问内核转储 3.4.5. 使用 gcore转储进程内存 3.4.6. 使用 GDB 转储受保护的进程内存 3.5. GDB 中兼容性破坏的更改 4. 用于开发的额外工具集 Expand section "4. 用于开发的额外工具集" Collapse section "4. 用于开发的额外工具集" 4.1. 使用 GCC 工具集 Expand section "4.1. 使用 GCC 工具集" Collapse section "4.1. 使用 GCC 工具集" 4.1.1. 什么是 GCC Toolset 4.1.2. 安装 GCC 工具集 4.1.3. 从 GCC Toolset 安装单个软件包 4.1.4. 卸载 GCC Toolset 4.1.5. 从 GCC Toolset 运行工具 4.1.6. 使用 GCC Toolset 运行 shell 会话 4.1.7. 其他资源 4.2. GCC Toolset 12 Expand section "4.2. GCC Toolset 12" Collapse section "4.2. GCC Toolset 12" 4.2.1. GCC Toolset 12 提供的工具和版本 4.2.2. GCC Toolset 12 中的 C++ 兼容性 4.2.3. GCC Toolset 12 中的 GCC 的具体信息 4.2.4. GCC Toolset 12 中的 binutils 的具体信息 4.2.5. GCC Toolset 12 中的 annobin 的具体内容 4.3. GCC Toolset 13 Expand section "4.3. GCC Toolset 13" Collapse section "4.3. GCC Toolset 13" 4.3.1. GCC Toolset 13 提供的工具和版本 4.3.2. GCC Toolset 13 中的 C++ 兼容性 4.3.3. GCC Toolset 13 中 GCC 的具体内容 4.3.4. GCC Toolset 13 中 binutils 的具体内容 4.3.5. GCC Toolset 13 中 annobin 的具体内容 4.4. 使用 GCC Toolset 容器镜像 Expand section "4.4. 使用 GCC Toolset 容器镜像" Collapse section "4.4. 使用 GCC Toolset 容器镜像" 4.4.1. GCC Toolset 容器镜像内容 4.4.2. 访问并运行 GCC Toolset 容器镜像 4.4.3. 例如:使用 GCC Toolset 13 Toolchain 容器镜像 4.5. 编译器工具集 4.6. Annobin 项目 Expand section "4.6. Annobin 项目" Collapse section "4.6. Annobin 项目" 4.6.1. 使用 annobin 插件 Expand section "4.6.1. 使用 annobin 插件" Collapse section "4.6.1. 使用 annobin 插件" 4.6.1.1. 启用 annobin 插件 4.6.1.2. 将选项传递给 annobin 插件 4.6.2. 使用 annocheck 程序 Expand section "4.6.2. 使用 annocheck 程序" Collapse section "4.6.2. 使用 annocheck 程序" 4.6.2.1. 使用 annocheck 检查文件 4.6.2.2. 使用 annocheck 检查目录 4.6.2.3. 使用 annocheck 检查 RPM 软件包 4.6.2.4. 使用 annocheck 额外的工具 Expand section "4.6.2.4. 使用 annocheck 额外的工具" Collapse section "4.6.2.4. 使用 annocheck 额外的工具" 4.6.2.4.1. 启用 built-by 工具 4.6.2.4.2. 启用 notes 工具 4.6.2.4.3. 启用 section-size 工具 4.6.2.4.4. 强化检查程序基础知识 Expand section "4.6.2.4.4. 强化检查程序基础知识" Collapse section "4.6.2.4.4. 强化检查程序基础知识" 4.6.2.4.4.1. 强化检查程序选项 4.6.2.4.4.2. 禁用强化检查程序 4.6.3. 删除冗余 annobin 备注 4.6.4. GCC Toolset 12 中的 annobin 的具体内容 5. 补充主题 Expand section "5. 补充主题" Collapse section "5. 补充主题" 5.1. 编译器和开发工具中的兼容性破坏更改 法律通告 Settings Close Language: 日本語 简体中文 한국어 English Français Language: 日本語 简体中文 한국어 English Français Format: Multi-page Single-page Format: Multi-page Single-page Language and Page Formatting Options Language: 日本語 简体中文 한국어 English Français Language: 日本語 简体中文 한국어 English Français Format: Multi-page Single-page Format: Multi-page Single-page 对红帽文档提供反馈 我们感谢您对我们文档的反馈。让我们了解如何改进它。 通过 Jira 提交反馈(需要帐户) 登录到 Jira 网站。 点顶部导航栏中的 Create 在 Summary 字段中输入描述性标题。 在 Description 字段中输入对改进的建议。包括文档相关部分的链接。 点对话框底部的 Create。 Previous Next