简介

CLion 是 JetBrains 推出的 C/C++ IDE, 目前支持Linux,macOS,以及Windows系统. CLion 提供了强大的代码编辑、代码导航、代码重构、代码分析、代码调试、单元测试等功能, 是 C/C++ 开发的首选 IDE 之一.

本教程主要介绍如何在 Windows 11 系统上使用 CLion + Dev Container 进行 C/C++ 开发. 包含运行, 测试, 以及覆盖率.

CLion 是收费软件, 但是学生可以免费使用. 具体可以参考:CLion for Students

环境要求

CLion Dev Container 样例

  1. 下载示例代码:git clone https://gitee.com/aronic/cmake-project-2024.git

  2. 使用CLion打开文件夹cmake-project-2024

  3. 打开.devcontainer/devcontainer.json文件. 点击左上角图标并选择Create Dev Container and Mount Sources....
    Run with Dev Container

  4. 此时CLion会自动构建Docker镜像, 并且启动容器.
    Loading dev container
    Loading Backend

  5. 完成后, 会自动打开CLion IDE.

配置CMake Preset

  1. 选择File->Settings->Build, Execution, Deployment, 点击linux-base, 勾选Enable Profile
    在这里插入图片描述

注意此处需要将默认的DebugEnable Profile选项勾掉.
2. 打开src/main.cpp, 选择点击 Run main
Run Main
3. 查看运行结果
在这里插入图片描述

运行测试

  1. 打开src/sample_test.cpp, 点击 Run SampleTest.TestIsTriangle
    Run Test
  2. 查看测试结果
    在这里插入图片描述

覆盖率分析

  1. 设置编译器选项.
# add coverage test
add_compile_options(-fprofile-arcs -ftest-coverage)
add_link_options(-fprofile-arcs -ftest-coverage)
  1. 在ide的测试case中选择Run with Coverage来运行测试.
    Run with coverage

  2. 在ide的测试case中选择Show Coverage Data来查看覆盖率.
    Coverage Result
    可以看到行覆盖率是100%, 分支覆盖率是80%, 因为第6行的if语句中, b <=0c <= 0的分支没有覆盖到.

其他

关于VS Code使用Dev Container的教程可以参考我的博客: VS Code Dev Containers 使用教程

参考

  1. CLion CMake Presets
  2. Code Coverage
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐