news 2026/4/24 12:52:29

开发者使用Claude构建C语言内存安全扩展

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
开发者使用Claude构建C语言内存安全扩展

TrapC,一个内存安全版本的C编程语言,即将准备进行测试。

"我们快要成功了,"Robin Rowe在电话采访中告诉《The Register》。"它几乎可以工作了。"

我们联系到了Rowe,他是一位计算机科学教授兼企业家,正在进行调试工作,这让他一直工作到凌晨四点。期待已久的TrapC网站已经上线。

"我构建TrapC的工作采取了两条平行路径,"Rowe在他的初始帖子中解释道。"一个叫做itrapc的TrapC解释器和一个叫做trapc的独立编译器。我本想在2026年1月1日之前发布软件版本,但遇到了太多bug。我这个月才完成代码开发,现在正在进行艰难且不眠不休的调试过程。当我有了基本稳定运行的版本时,我会发布。抱歉让大家再等一段时间。目标是2026年第一季度。"

回到2024年11月,Rowe解释说他正在开发TrapC。当时,公共和私营部门正在推广内存安全软件开发,以减少严重漏洞的暴露。

内存安全提供了一种确保内存相关bug(如越界读写和释放后使用)不会发生的方法。在像Chromium和Windows这样的大型代码库中,大部分安全漏洞都源于内存bug。随着这一信息在近年来不断重复,内存安全已成为当务之急,得到了Google和Microsoft等公司以及美国等地当局的推广。

至少在过去十年中,越来越多的声音呼吁采用内存安全的编程语言和技术。这意味着鼓励开发者在可行的情况下避免使用C和C++等语言,转而采用C#、Go、Java、Python、Swift和Rust等语言,特别是在新项目中。

为了保持相关性,C和C++社区试图通过TrapC、FilC、Mini-C、Safe C++和C++ Profiles等项目来解决这些问题。DARPA还在开发一个名为TRACTOR(TRanslating All C TO Rust)的C到Rust转换项目。

但进展缓慢,编写C和C++的人员还没有找到广泛接受的方法。C++标准委员会最近拒绝了Safe C++提案。Rowe说他怀疑TRACTOR今年不会有任何成果。

与此同时,时间紧迫。Microsoft工程师Galen Hunt上个月表示:"我的目标是到2030年消除Microsoft的每一行C和C++代码。我们的策略是结合AI和算法来重写Microsoft最大的代码库。"

如何使用AI工具

"有一些将C代码手工移植到Rust的努力,"Rowe说。"但这样做确实面临一些挑战,因为C中有一些习惯用法在Rust中无法表达。

"Rust比C更加类型安全。所以如果你有一个void指针,在Rust中意味着什么?没有对应的翻译。这就是TrapC根本不同的地方,因为它实际上记住了那个void指针实际是什么。"

Rowe说他预期TRACTOR最终能够使用AI完成C到Rust的翻译。但他认为最好是将必要的工具直接构建到C编译器中,这样你就不必依赖某个外部工具来用不熟悉的语言重写你的代码。

Rowe自己一直在使用AI工具,并教授其他人如何使用。这个学期,他在巴尔的摩县社区学院教授AI网络安全程序员分析师课程(PCO471)——使用bash进行vibe编程的Linux管理,无先修要求。从2月开始,他将教授使用生成式AI的C++编程(PCO472)——C++中的vibe编程。

Rowe说,由于AI工具,编程已经发生了根本性变化。"我认为这类似于C语言出现时人们说'我在汇编语言中很满意'的讨论。仍然会有人用旧方法做事。但因为vibe编程在正确使用时在时间上效率更高,所以别无选择。如果你不进行vibe编程,你就不会有竞争力。"

然后他稍微改变了话题。"但我必须稍微收回这个说法,因为我熬到凌晨四点的原因是我在TrapC编译器上使用vibe编程。它采取了根本错误的设计方向。我没有察觉到它犯了设计错误。我告诉了它我想要如何处理。但不知何故它误解了我,或者它忘记了,或者发生了什么,而我忘记了检查。所以我花了几个小时在调试器中摸索,试图理解为什么代码表现得很奇怪,直到我最后看了看说,'等等,这甚至不是正确的设计。'"

Rowe说在结对编程中会出现类似的情况,你告诉某人做某事,他们没有做,而你直到后来才意识到这一点。

"C++创始人Bjarne Stroustrup曾说软件设计中最重要的事情是明确你要构建什么,"Rowe说。"而vibe编程只是让这一点更加重要。现在我们不仅要自己明确,还必须向大语言模型清楚地传达它。"

Rowe认为必须鼓励开发者尝试AI工具并犯错误。他讲述了在他的AI网络安全程序员分析师课程中,学生们表达了希望做更多实践工作而不是听讲座的兴趣。

"所以我说,'我在互联网上有真实的服务器,那是我公司的。我给你们root权限,'"他回忆道。"我会让什么都不懂的学生在我自己的服务器上自由操作,希望一切顺利,看看会怎样。反应是恐慌。我无法克服胆怯的障碍。"

Rowe说他从那次交流中学到的是,他们不想要自己的实践,他们想要观看他工作。

"我对他们说,'但是伙计们,这就像学弹钢琴一样。你不能通过观看我来学会弹钢琴。是的,你们必须练习。一开始会很尴尬。你知道,你们会弹出很多错音,听起来很糟糕。你必须克服这种情况。'"

这种情况在各种公司中都在上演,AI工具仍未得到充分利用,原因包括缺乏培训、安全担忧、缺乏实用性和工具设计不佳。

中国与美国

Rowe经常前往中国在中国高等教育学会会议上发言。他说,12月份,他接受了中国新闻电视台的采访,谈论中国的AI计划与美国的比较。

在一封电子邮件中他解释说:"我说,'中国的AI+计划呼吁在各个地方都有高效的AI,从农场到工厂到城市,而白宫计划呼吁建设价值5000亿美元的云数据中心...使用的芯片在两年内不可避免地会显得过时。'"

Rowe认为中国的方法会胜出,美国专注于集中式云数据中心来运行大语言模型是错误的方向。他说,在两年内,我们将拥有可以在手机上本地运行的AI模型,大多数任务都不需要网络访问。他说,苹果和华为可能是这种情况下的赢家。

Rowe指出中国的DeepSeek作为例子。虽然它可能不如美国领先的商业模型那么好,但他说,它的功耗要低得多。

"这是一个非常符合摩尔定律的策略,"他说。"我记得1994年我有一台海军超级计算机。那是令人惊叹的技术。但在1995年,Cray破产了。即使它是一个令人惊叹的设备,也没有足够的买家。

"现在我口袋里有一部iPhone。它用电池供电。它不需要整个房间来容纳它,不需要特殊冷却和各种设备。它比那台(1994年的Cray)更强大。所以作为长期策略,朝着设备发展更有意义,因为那个价值5000亿美元的数据中心最终会在我的iPhone上。"

Rowe还说,在他在AT&T DIRECTV创新实验室时期朋友的推荐下,他在Claude不可用时尝试运行Deepseek。他说,Deepseek能够找到Claude找不到的bug。

"令人惊讶的是,bug在Claude生成的代码中,我粗心地剪切粘贴了,"他说。"事后看来,这是一个愚蠢的代码错误,我应该抓住,但它在我查看范围外的'else'分支中。我没有预期或打算让Claude对那个代码块做任何更改。因为代码是有效的但逻辑是错误的,编译器没有捕获它。"

但他说,一旦Deepseek指出来,bug就很明显了。他补充说:"我为Claude支付每年200美元。Deepseek是免费的。"

Q&A

Q1:TrapC是什么?它与传统C语言有什么区别?

A:TrapC是一个内存安全版本的C编程语言,由Robin Rowe开发。与传统C语言不同,TrapC能够记住void指针实际指向的内容,提供内存安全保护,防止越界读写和释放后使用等内存相关bug的发生。

Q2:为什么内存安全对编程语言如此重要?

A:在大型代码库如Chromium和Windows中,大部分安全漏洞都源于内存bug。内存安全能确保不会发生越界读写和释放后使用等内存相关错误,这已成为Google、Microsoft等公司和各国政府推广的重要安全措施。

Q3:AI工具在编程中起到什么作用?

A:AI工具正在根本性地改变编程方式。Robin Rowe认为AI辅助的"vibe编程"在时间效率上远超传统编程,就像C语言取代汇编语言一样。但使用AI工具需要开发者更清楚地表达需求,并要敢于尝试和犯错误。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 12:33:15

DeepSeek 刚刚开源 OCR 2,视觉理解再进化!附稳定 API 渠道推荐

刚刚,DeepSeek 上新,V4 的模样更清晰了。 临近春节,DeepSeek 又有新动作。就在刚刚,DeepSeek 在 HuggingFace 和 GitHub 上开源了新模型 OCR 2,并附上了完整的论文。 这不仅仅是一次简单的 OCR 更新。和初代主打视觉…

作者头像 李华
网站建设 2026/4/21 19:55:06

MATLAB许可证管理与IT服务管理集成

MATLAB许可证管理与IT服务管理集成:企业如何优化资源与成本?一、用户痛点:企业如何高效管理MATLAB许可证?在企业级应用中,MATLAB作为一种强大的科学计算工具,被广泛用于工程仿真、数据建模和人工智能开发等…

作者头像 李华
网站建设 2026/4/22 2:31:55

如何优化Java线程池的性能?

大家好,我是锋哥。今天分享关于【如何优化Java线程池的性能?】面试题。希望对大家有帮助;如何优化Java线程池的性能?下面按现实优先级给你一个清晰的决策路径和优化手段(JDK 21,尤其是JDK 23/25视角):第一…

作者头像 李华
网站建设 2026/4/22 22:48:16

2026必备10个降aigc工具,继续教育学生必看!

2026必备10个降aigc工具,继续教育学生必看! AI降重工具:让论文更自然,更安全 在当前学术写作中,随着AI技术的广泛应用,论文中的AIGC痕迹和查重率问题愈发受到关注。尤其是对于继续教育学生而言,…

作者头像 李华
网站建设 2026/4/21 7:38:48

学长亲荐!MBA毕业论文必备TOP8一键生成论文工具测评

学长亲荐!MBA毕业论文必备TOP8一键生成论文工具测评 2026年MBA论文写作工具测评:为何值得一看? MBA论文撰写不仅是学术能力的体现,更是对研究逻辑、数据分析与表达能力的综合考验。然而,面对繁重的写作任务与严格的格…

作者头像 李华
网站建设 2026/4/20 8:26:32

一个普通本科生,硬磕AI大模型的心路历程......

我就是那种扔在人堆里找不着的普通本科生,二本院校,学的是万金油似的工商管理,没什么硬核技能,毕业就跟着大流进了家小公司做行政,每天复印文件、整理报表、应付各种杂事,混了大半年,越干越慌。…

作者头像 李华