Menu Close 在 RHEL 8 中开发 C 和 C++ 应用程序 使开源包含更多 对红帽文档提供反馈 1. 设置开发工作站 Expand section "1. 设置开发工作站" Collapse section "1. 设置开发工作站" 1.1. 先决条件 1.2. 启用调试和源存储库 1.3. 设置以管理应用程序版本 1.4. 设置以使用 C 和 C++ 开发应用程序 1.5. 设置以调试应用程序 1.6. 设置以测量应用程序的性能 I. 创建 C 或 C++ 应用程序 Expand section "I. 创建 C 或 C++ 应用程序" Collapse section "I. 创建 C 或 C++ 应用程序" 2. 使用 GCC 构建代码 Expand section "2. 使用 GCC 构建代码" Collapse section "2. 使用 GCC 构建代码" 2.1. 代码表单之间的关系 2.2. 将源文件编译到对象代码 2.3. 使用 GCC 启用 C 和 C++ 应用程序调试 2.4. 使用 GCC 的代码优化 2.5. 使用 GCC 强化代码的选项 2.6. 链接代码以创建可执行文件 2.7. 示例:使用 GCC 构建 C 程序 2.8. 示例:使用 GCC 构建 C++ 程序 3. 在 GCC 中使用代理 Expand section "3. 在 GCC 中使用代理" Collapse section "3. 在 GCC 中使用代理" 3.1. 库命名惯例 3.2. 静态和动态链接 3.3. 使用 GCC 库 3.4. 在 GCC 中使用静态库 3.5. 在 GCC 中使用动态库 3.6. 通过 GCC 使用静态和动态库 4. 使用 GCC 创建库 Expand section "4. 使用 GCC 创建库" Collapse section "4. 使用 GCC 创建库" 4.1. 库命名惯例 4.2. soname 机制 4.3. 使用 GCC 创建动态库 4.4. 使用 GCC 和 ar 创建静态库 5. 使用 Make 管理更多代码 Expand section "5. 使用 Make 管理更多代码" Collapse section "5. 使用 Make 管理更多代码" 5.1. GNU make 和 Makefile 概述 5.2. 示例:使用 Makefile 构建 C 程序 5.3. 文档资源 make 6. RHEL 7 后对 toolchain 的更改 Expand section "6. RHEL 7 后对 toolchain 的更改" Collapse section "6. RHEL 7 后对 toolchain 的更改" 6.1. RHEL 8 中的 GCC 的更改 6.2. RHEL 8 中 GCC 的安全性增强 6.3. RHEL 8 中 GCC 中破坏兼容性的更改 II. 调试应用程序 Expand section "II. 调试应用程序" Collapse section "II. 调试应用程序" 7. 使用调试信息启用调试 Expand section "7. 使用调试信息启用调试" Collapse section "7. 使用调试信息启用调试" 7.1. 调试信息 7.2. 使用 GCC 启用 C 和 C++ 应用程序调试 7.3. debuginfo 和 debugsource 软件包 7.4. 使用 GDB 为应用程序或库获取 debuginfo 软件包 7.5. 手动为应用程序或库获取 debuginfo 软件包 8. 使用 GDB 检查应用程序 Internal State Expand section "8. 使用 GDB 检查应用程序 Internal State" Collapse section "8. 使用 GDB 检查应用程序 Internal State" 8.1. GNU debugger(GDB) 8.2. 将 GDB 附加到进程 8.3. 使用 GDB 通过程序代码步骤 8.4. 使用 GDB 显示程序内部值 8.5. 使用 GDB 中断点停止在定义的代码位置执行 8.6. 使用 GDB 监视点在数据访问和更改时停止执行 8.7. 使用 GDB 调试或线程程序 9. 记录应用程序互动 Expand section "9. 记录应用程序互动" Collapse section "9. 记录应用程序互动" 9.1. 用于记录应用程序交互的工具 9.2. 使用 strace 监控应用程序的系统调用 9.3. 使用 ltrace 监控应用程序的库功能 9.4. 使用 SystemTap 监控应用程序的系统调用 9.5. 使用 GDB 拦截应用程序系统调用 9.6. 使用 GDB 截取应用程序对信号的处理 10. 调试 Crashed Application Expand section "10. 调试 Crashed Application" Collapse section "10. 调试 Crashed Application" 10.1. core dumps:它们的状态以及如何使用它们 10.2. 使用内核转储记录应用程序崩溃 10.3. 使用内核转储检查应用程序崩溃状态 10.4. 使用 coredumpctl 创建并访问内核转储 10.5. 使用它转储进程内存 gcore 10.6. 使用 GDB 转储受保护进程内存 11. GDB 中破坏兼容性的更改 III. 用于开发的额外工具集 Expand section "III. 用于开发的额外工具集" Collapse section "III. 用于开发的额外工具集" 12. 使用 GCC Toolset Expand section "12. 使用 GCC Toolset" Collapse section "12. 使用 GCC Toolset" 12.1. 什么是 GCC Toolset 12.2. 安装 GCC Toolset 12.3. 从 GCC Toolset 安装单独的软件包 12.4. 卸载 GCC Toolset 12.5. 从 GCC Toolset 运行工具 12.6. 使用 GCC Toolset 运行 shell 会话 12.7. 相关信息 13. GCC Toolset 9 Expand section "13. GCC Toolset 9" Collapse section "13. GCC Toolset 9" 13.1. GCC Toolset 9 提供的工具和版本 13.2. GCC Toolset 9 中的 C++ 兼容性 13.3. GCC Toolset 9 中的 GCC 的具体设置 13.4. GCC Toolset 9 中的 binutils 的具体设置 14. GCC Toolset 10 Expand section "14. GCC Toolset 10" Collapse section "14. GCC Toolset 10" 14.1. GCC Toolset 10 提供的工具和版本 14.2. GCC Toolset 10 中的 C++ 兼容性 14.3. GCC Toolset 10 中的 GCC 的具体设置 14.4. GCC Toolset 10 中的 binutils 的具体设置 15. 使用 GCC Toolset 容器镜像 Expand section "15. 使用 GCC Toolset 容器镜像" Collapse section "15. 使用 GCC Toolset 容器镜像" 15.1. GCC Toolset 容器镜像内容 15.2. 访问并运行 GCC Toolset 容器镜像 15.3. 示例:使用 GCC Toolset 10 Toolchain 容器镜像 15.4. 使用 GCC Toolset 10 Perftools 容器镜像中的 systemTap 16. 编译器工具集 17. Annobin 项目 Expand section "17. Annobin 项目" Collapse section "17. Annobin 项目" 17.1. 使用 annobin 插件 Expand section "17.1. 使用 annobin 插件" Collapse section "17.1. 使用 annobin 插件" 17.1.1. 启用 annobin 插件 17.1.2. 将选项传递给 annobin 插件 17.2. 使用 annocheck 程序 Expand section "17.2. 使用 annocheck 程序" Collapse section "17.2. 使用 annocheck 程序" 17.2.1. 使用 annocheck 检查文件 17.2.2. 使用 annocheck 检查目录 17.2.3. 使用 annocheck 检查 RPM 软件包 17.2.4. 使用 annocheck 额外工具 Expand section "17.2.4. 使用 annocheck 额外工具" Collapse section "17.2.4. 使用 annocheck 额外工具" 17.2.4.1. 启用 built-by 工具 17.2.4.2. 启用 notes 工具 17.2.4.3. 启用 section-size 工具 17.2.4.4. 强化检查程序基础 Expand section "17.2.4.4. 强化检查程序基础" Collapse section "17.2.4.4. 强化检查程序基础" 17.2.4.4.1. 强化检查器选项 17.2.4.4.2. 禁用强化检查器 17.3. 删除冗余 annobin 备注 IV. 附加主题 Expand section "IV. 附加主题" Collapse section "IV. 附加主题" 18. 编译器和开发工具中破坏兼容性的更改 19. 在 RHEL 8 上运行 RHEL 6 或 7 应用程序的选项 法律通告 Document options Language: English 日本語 简体中文 Português Español Format: Single-page HTML PDF ePub Red Hat Training A Red Hat training course is available for RHEL 8 部分 I. 创建 C 或 C++ 应用程序 红帽提供了使用 C 和 C++ 语言创建应用程序的多个工具。本书的这部分列出了一些最常见的开发任务。 Previous Next