Hello 算法 C/C++ 代码如何用 CMake 构建并运行章节练习?

发布时间:2026/9/9 14:46:11
Hello 算法 C/C++ 代码如何用 CMake 构建并运行章节练习? Hello 算法 C/C 代码如何用 CMake 构建并运行章节练习【免费下载链接】hello-algo《Hello 算法》动画图解、一键运行的数据结构与算法教程。支持简中、繁中、English、日本語提供 Python, Java, C, C, C#, JS, Go, Swift, Rust, Ruby, Kotlin, TS, Dart 等代码实现项目地址: https://gitcode.com/GitHub_Trending/he/hello-algo你 clone 了《Hello 算法》hello-algo仓库想在本机把codes/cC 语言或codes/cppC中的章节练习代码编译出来并运行。仓库在这两个目录里已经提供了完整的 CMake 构建配置用 CMake 生成并编译后每个练习源码文件会生成一个独立可执行程序放在构建目录对应的章节子目录下直接执行即可。这个任务需要 CMake ≥ 3.10根CMakeLists.txt中cmake_minimum_required(VERSION 3.10)的要求以及一个系统 C/C 编译器Windows 系统需要安装 MinGWmacOS 自带 Clang 无须安装详见编程环境安装文档。仓库 C/C 代码的 CMake 构建结构C 和 C 实现分别位于两个互不依赖的目录各自是一个独立的 CMake 项目codes/c/CMakeLists.txt声明project(hello_algo C)并设置set(CMAKE_C_STANDARD 11)codes/cpp/CMakeLists.txt声明project(hello_algo CXX)并设置set(CMAKE_CXX_STANDARD 11)。两个根文件都通过add_subdirectory引入 13 个章节目录chapter_computational_complexity、chapter_array_and_linkedlist、chapter_stack_and_queue、chapter_hashing、chapter_tree、chapter_heap、chapter_graph、chapter_searching、chapter_sorting、chapter_divide_and_conquer、chapter_backtracking、chapter_dynamic_programming、chapter_greedy。每个章节目录内部练习源码文件通过add_executable逐一注册为可执行目标。例如 codes/c/chapter_sorting/CMakeLists.txt 定义了bubble_sort、insertion_sort、quick_sort、counting_sort、radix_sort、merge_sort、heap_sort、bucket_sort、selection_sort共 9 个目标codes/c/chapter_searching/CMakeLists.txt 定义了binary_search、two_sum、binary_search_edge、binary_search_insertion共 4 个目标。每个练习源码文件自带main函数如 binary_search.c 末尾的 Driver Code 会调用查找函数并printf结果所以生成的可执行文件可以直接运行不需要额外入口。构建并运行 C 章节练习以 C 代码为例C 步骤相同只需换到codes/cpp目录进入 C 项目目录相对仓库根目录cd codes/c配置项目把 CMake 的构建文件生成到build目录cmake -B build编译全部章节目标cmake --build build构建完成后可执行文件生成在build目录下与章节对应的子目录中。以 searching 章节的二分查找练习为例./build/chapter_searching/binary_search程序会打印查找结果文档代码的示例输出目标元素 6 的索引 2 目标元素 6 的索引 2两行分别对应双闭区间和左闭右开区间两种二分查找实现目标值6在测试数组中的索引为2。只构建某一个练习如果只想运行某一道练习可以指定目标名单独编译再运行对应可执行文件。例如只构建排序章节的冒泡排序cmake --build build --target bubble_sort ./build/chapter_sorting/bubble_sort目标名与各章节CMakeLists.txt中add_executable写明的名称一一对应不确定时打开对应章节的CMakeLists.txt查一下即可。环境准备与注意事项编译器Windows 系统需要安装 MinGWmacOS 自带 Clang无须安装来源编程环境安装。CMake 版本需满足CMakeLists.txt中声明的 3.10 或更高版本。IDE可选可在 VS Code 插件市场安装 C/C Extension Pack用于浏览和调试练习代码。C 与 C 分别构建codes/c与codes/cpp是两个独立的 CMake 项目各自生成自己的build目录构建 C 代码时请先进入codes/cpp重复上述cmake -B build和cmake --build build步骤构建产物同样位于build/章节目录/下。验证是否成功的方式很直接build目录下各章节子目录中出现可执行文件运行后按练习源码中的 Driver Code 打印出结果如上文二分查找的索引输出即表示该章节练习已正确构建并运行。想继续练习其他章节时按 docs/chapter_searching/index.md 等章节文档对照源码中的算法说明阅读即可。【免费下载链接】hello-algo《Hello 算法》动画图解、一键运行的数据结构与算法教程。支持简中、繁中、English、日本語提供 Python, Java, C, C, C#, JS, Go, Swift, Rust, Ruby, Kotlin, TS, Dart 等代码实现项目地址: https://gitcode.com/GitHub_Trending/he/hello-algo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询