CoreCLR中超过3万行代码的gc.cpp文件的来源
在CoreCLR的开源代码中,GC的主要实现代码gc.cpp文件大小竟然有1.17MB,打开文件一看,竟然有35490行!第一次见到如此多行的单个代码文件。
github都不让直接查看:https://github.com/dotnet/coreclr/blob/master/src/gc/gc.cpp
为什么会有这么大的代码文件?微软的哪位大神在这样的代码海洋中游弋?不禁让人产生好奇。
在 Hacker News 的回复中发现了线索(CoreCLR is now open source):
> I guess it's no surprise that microsoft software has a human-edited source file that's over 35000 lines...
IIRC, it was originally machine-generated... from LISP code written by David Bacon, under contract from the then-GC owner Patrick Dussud.
也许是从LISP代码生成的C++代码。
接下来的回复中提供了一篇博客的链接:
(How It All Started…AKA the Birth of the CLR)
文中的一段文字证实了这一点:
I designed the architecture of the runtime and wrote the Garbage Collector (and yes the GC prototype was was written in Common Lisp first and I wrote a translator to convert it to C++).
果然开始是用Lisp写的,然后转换为了C++代码。
而博文的作者Patrick Dussud就是他写了转换程序将Lisp代码转换为C++代码。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 大模型 Token 究竟是啥:图解大模型Token
· 35岁程序员的中年求职记:四次碰壁后的深度反思
· 继承的思维:从思维模式到架构设计的深度解析
· 如何在 .NET 中 使用 ANTLR4
· 后端思维之高并发处理方案
· BotSharp + MCP 三步实现智能体开发
· 动物智能之数据标注员——狗篇
· BotSharp 5.0 MCP:迈向更开放的AI Agent框架
· 5. RabbitMQ 消息队列中 Exchanges(交换机) 的详细说明
· 设计模式脉络
2014-02-05 Visual Studio的“Waiting for a required operation to complete...”问题
2013-02-05 更改计算机名引起的奇怪问题:“重新启动计算机之前控制台无法刷新”
2008-02-05 [收藏]《观察与思考》:相信中国,寻找下一个比尔·盖茨
2007-02-05 动态修改页面的DOCTYPE及一个小发现
2007-02-05 继续发布新Skin
2004-02-05 一个从Microsoft Word发表Blog文章的工具
2004-02-05 关于.Text 0.96