EDG C/C++ 编译器项目

Lobsters Hottest 工具

摘要

EDG 已将其著名的 C/C++ 编译器前端开源,包括与 Clang、GCC 和 MSVC 的解析兼容性、一个生成 C/C++ 代码的后端、一个预链接器,以及面向开发者和 AI 智能体的大量文档。

<p>在 2025 年 11 月的 C++ ISO 会议期间,Edison Design Group <a href="https://herbsutter.com/2025/11/10/trip-report-november-2025-iso-c-standards-meeting-kona-usa/" rel="ugc">宣布他们将逐步结束运营,并将开源其前端</a>。这个仓库就包含了该前端,以及一些其他组件,比如 C 和 C++ 后端。还有一个 <a href="https://edgcpp.org/" rel="ugc">网站</a>提供了更多关于这次过渡的信息,以及一个 <a href="https://edgcpp.org/doc/" rel="ugc">文档网站</a>。</p> <p>至少据我所知,这是目前仍然存在的四个 C++ 前端之一(另外三个是 Clang、GCC 和 MSVC)。它最广为人知的用途是作为 Visual Studio 的 Intellisense 的前端;而 Intel 的编译器在切换到 Clang 之前也曾使用它。</p> <p>另一个有趣的历史细节是,它们是唯一实现 C++98 中 <code>export template</code> 特性的前端,而它们的经验 <a href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2003/n1426.pdf" rel="ugc">被用来支持在 C++11 中移除该特性</a>,不过根据 <a href="https://stackoverflow.com/questions/5416872/using-export-keyword-with-templates#comment6130296_5416981" rel="ugc">这条 Stack Overflow 评论</a>,那份特定的提案并没有通过投票。该特性最终在 C++11 中被移除,但我无法找到确切的时间和/或是哪份提案导致的。<a href="https://herbsutter.com/2009/10/23/deprecating-export-considered-for-iso-c0x/" rel="ugc">Herb Sutter 在 2009 年的一篇博文</a>表明,支持移除/废弃该特性,其中废弃获得了最多的支持,所以我猜相关的提案/投票发生在那之后的某个时候。</p> <p><a href="https://lobste.rs/s/nwdxko/edg_c_c_compiler_project">评论</a></p>
查看原文
查看缓存全文

缓存时间: 2026/10/01 00:18

edgcpp/compiler

来源:https://github.com/edgcpp/compiler

EDG 编译器项目

欢迎来到开源的 EDG C/C++ 编译器项目!

关于本项目

本仓库的核心是 EDG C/C++ 前端。EDG 前端以以下特点著称:卓越的解析兼容性与 bug 仿真能力,确保能在 Clang、GCC 和 MSVC 下编译通过的源码,同样能通过 EDG 编译;丰富的文档资料,便于开发与修改;以及极高的可配置性,使其能够衍生出大量面向 C/C++ 的产品。

编译器项目还包含:一个生成 C 代码的后端,可用于为 C++ 程序生成 C 代码;一个生成 C++ 代码的后端,适用于源到源转换场景;一个预链接器(prelinker),用于处理自动模板实例化;一个最小化的运行时支持库(不包含任何“真实“的库,例如流式 I/O);用于将中间语言写入文件、重新读入并以人类可读形式展示的工具;一个名字解修饰(demangler)工具;以及一系列专用的开发工具。

文档

文档请见:https://edgcpp.org/doc/.

如果你想构建本地文档副本,请参阅文档构建指南。

构建与贡献

如需快速上手,建议大多数人使用部分克隆(partial clone)方式获取仓库(这样可以保留完整的 git 历史,但只下载每个文件的最新版本,git 会按需隐式获取更早的版本):

git clone --filter=blob:none [email protected]:edgcpp/compiler.git

如果你希望从源码构建前端并加以使用,请参阅构建说明。

如果你希望修改前端代码,请参阅贡献指南和开发指南,以便快速完成环境配置。

技巧、窍门与教程

为了进一步帮助人类和 AI 智能体进行产品开发,开发附录中还提供了额外的技巧、窍门和教程文档。

相似文章

EDG C++ 前端将开源

Hacker News Top

EDG 宣布,其拥有三十年历史的 C++ 前端将于 2026 年 9 月 30 日开源。The C++ Alliance 将成为其非营利托管方,提供社区贡献、维护和集体资助三个开发轨道,并由 John Spicer 担任财政赞助委员会主席。

使用并行Claude团队构建C编译器

Anthropic Engineering

Anthropic研究员展示了如何使用16个并行Claude实例自主构建一个基于Rust的C编译器,该编译器能够编译Linux内核。文章详细介绍了这一多智能体自主编码实验的架构、成本和经验教训。

为 Zig 打包的 C/C++ 项目

Hacker News Top

一个工具,可将现有的 C/C++ 项目打包以供 Zig 构建系统使用,从而实现更简单的集成。

@sunmer575399: 刷到一个神仙开源项目cline,65.6k star,写代码效率确实能提不少 一个引擎同时给SDK、CLI、VS Code和JetBrains全家桶用,你在编辑器里点两下,它自己读代码、建文件、跑命令,改完还等你点头才动手。 终端里跑全自…

X AI KOLs Timeline

介绍开源AI编码代理工具Cline,支持SDK、CLI、VS Code和JetBrains全家桶,可在IDE和终端中自动读代码、建文件、跑命令,并支持看板并行多agent和CI/CD集成。

关于C扩展、可移植性和替代编译器

Lobsters Hottest

本文讨论了编写可移植C代码的实际挑战,这些挑战源于对非标准编译器扩展和glibc条件头文件的依赖,并通过构建C编译器的示例进行说明。