Community

CLion 与开源社区:共同成长

Read this post in other languages:

从一开始,CLion 就是根据全球 C 和 C++ 开发者的需求而塑造。 我们的跨平台 IDE 旨在简化开发、提高工作效率并使 C++ 的工作更加愉快。

我们很高兴能在与社区的持续合作中迈出新的一步:CLion 现在对非商业用途免费,包括开源开发。 如果您正在为 OSS 项目做贡献,或者正在启动自己的项目,现在是尝试的最佳时机。

查看以下使用 CLion 构建的开源项目 – 强大的调试器、逆向工程工具、传奇的文件管理器和世界各地使用的库。 这些都是开发者借助合适工具取得出色成果的光辉示例。

JSON for Modern C++

创建者Niels Lohmann

技术栈:仅头文件 C++11+、CMake

使用的 JetBrains 工具:CLion

JSON for Modern C++ 在大学项目中创建,最初是记录分析数据的辅助文件,后来发展成为 GitHub 最受欢迎的 C++ 库之一,拥有近 45,000 颗星。

“…我们当时需要向服务器发送一些分析信息。 我从简单的 printf 语句开始,把所有需要的变量放到 JSON 对象中。 日志记录很快变得复杂,所以我把所有 JSON 相关函数移动到一个头文件中。 它随后发展成为一个独立的 C++ JSON 库。”

该库为 JSON 解析和序列化提供了直观的 C++ 风格界面。 它被广泛应用于从游戏开发到航空航天的各行各业。

“作为开源维护者和贡献者,我在自己项目上的时间比较有限。 CLion 的简易测试执行、Git 集成和 Clang-Tidy 警告帮助我保持高效并充分利用时间。”

未来计划:

  • 自动执行手动发布流程。
  • 优化性能并清理架构。
  • 规划下一个主要版本的路线图:3.0.0。

Midnight Commander

维护者Yury Zaytsev

技术栈:C、Autotools、POSIX、ncurses

使用的 JetBrains 工具:CLion、PyCharm

Midnight Commander (mc) 是一款具有丰富历史的经典终端文件管理器。 它最初受到 20 世纪 90 年代早期 Norton Commander 的启发,后来因其可视化界面、终端优先设计和可扩展性而在 Unix 社区中得到广泛使用和喜爱。

Yury 自 2015 年以来一直在维护这个项目,他回忆起自己早期的迷恋:

“我清楚地记得,五岁的时候,Norton Commander 的蓝色窗格就让我着迷。 多年后,我重新发现了 Unix 系统,我安装的第一个程序是 Midnight Commander。 它带回了那种魔力 – 从那时起我就开始做贡献。”

它的双窗格界面帮助几代用户更高效地与 Unix 系统交互。 尽管存在挑战,但几十年后开发仍在继续。 JetBrains 工具有助于保持老化代码库可导航:

“CLion 彻底改变了我编写代码的方式。 重构和重命名工具、代码导航和宏扩展支持等功能对于维护有数十年历史的庞大代码库非常有价值。”

未来计划:

  • 迁移到事件循环。
  • 继续重构和改造基础架构以提高可维护性。
  • 嵌入轻量级脚本引擎以实现可扩展性。

ImHex

创建者Nikolaij Sägesser

技术栈:C++、Qt、LLVM、自定义脚本语言

使用的 JetBrains 工具:CLion、Rider、WebStorm

ImHex 最初是探索编程语言设计和二进制数据结构的附带项目。 创建者 Nikolaij Sägesser 构建了一种自定义语言来定义数据类型并将其覆盖在二进制数据上。 它最初是直观呈现这些定义的工具,后来发展成为功能强大的跨平台十六进制编辑器,供逆向工程师使用。

“我在写本科论文的时候开始了这个项目 – 我自己就需要这样的工具,我也有几个朋友对既有的工具感到非常失望。 这给了我继续推进的动力。”

现在,ImHex 在精美的跨平台 GUI 中提供自定义脚本、格式定义、实时解析和二进制可视化。

“我主要使用 CLion,它非常棒。 在所有平台上使用 GCC 和 Clang,尤其是在大多数情况下都需要 MSVC 的 Windows 上,这是一个颠覆性改变。 借助 CLion,我可以在任何地方使用开源工具链、调试器和构建设置,而且它真的有效。”

未来计划:

  • 重写自定义编程语言,为执行使用虚拟机。
  • 扩展对二进制格式的支持。
  • 改进 UI/UX 并添加更多可视化工具。

x64dbg

创建者Duncan Ogilvie

技术栈:C++、Qt、CMake(现在为 cmkr)、自定义插件系统

使用的 JetBrains 工具:CLion

x64dbg 是逆向工程师中知名的调试器,尤其是在 Windows 上,因为可用的调试工具历来落后。 Duncan 从 OllyDbg 中汲取灵感,最初将其作为高中毕业项目来填补这一空白。

“当时没有针对 64 位调试的人性化工具,我就很天真地开始构建了一个。 😅”

现在,x64dbg 的下载量已超过 400 万人次,用户遍及全球,从独立黑客到机构研究人员,甚至梵蒂冈。 项目最近通过 cmkr 迁移到 CMake,使开发和贡献更加直接。

“我们从复杂的 10 多个步骤的构建流程转变为只需要在 CLion 中打开文件夹并点击‘构建’。 最好的地方是,CMake 和调试配置可以通过简单的 UI 完成,不需要涉及 JSON 文件。”

尽管 x64dbg 已经很成熟,但它仍在不断发展。 虽然由于时间有限,功能开发速度有所放缓,但活跃工作的关键领域包括:

  • 切换到 Visual Studio 2022 编译器以实现现代 C++ 支持。
  • 集成 Windows 类型支持和 AVX-512 支持。
  • 将 UI 组件提取到可重用跨平台库中。

这些项目及其背后的人代表了开源精神:解决难题、分享知识和构建世界所依赖的工具。 我们相信这一事业意义重大,也很荣幸能够支持这些工作。

获取免费许可证并安心、快速、舒适地构建您的下一个出色项目。

本博文英文原作者:

Lena Morozova

Lena Morozova

image description

Discover more