“革命性”「Safe C++」扩展提案:引入内存安全、有望成为 C++ 标准
C++ 社区上周公布了堪称“革命性”的「Safe C++」扩展提案,目标是为 C++ 添加内存安全特性。
该项提案将由名为"C++ Alliance"的机构与工程师 Sean Baxter 合作开发,C++ Alliance 计划将「Safe C++」扩展提案提交给 ISO,以纳入 C++ 标准。
C++ Alliance(C++联盟)是一个旨在使 C++ 编程语言易于访问和有用的公益机构,使命是让所有希望学习和应用 C++ 编程语言的人都能掌握和使用这种语言。
采用「Safe C++」扩展编写的代码示例:
#feature on safety #include <std2.h> int main() safe { std2::vector<int> vec { 11, 15, 20 }; for(int x : vec) { // Ill-formed. mutate of vec invalidates iterator in ranged-for. if(x % 2) mut vec.push_back(x); std2::println(x); } }
$ circle iterator.cxx -I ../libsafecxx/single-header/ safety: during safety checking of int main() safe borrow checking: iterator.cxx:10:11 mut vec.push_back(x); ^ mutable borrow of vec between its shared borrow and its use loan created at iterator.cxx:7:15 for(int x : vec) { ^
https://github.com/cppalliance/safe-cpp/blob/master/proposal/iterator.cxx
C++ Alliance 主席兼执行董事 Vinnie Falco 在博客写道:
这次合作标志着 C++ 生态系统中的一个重要里程碑,因为确保代码安全的需求从未如此紧迫。
随着软件安全性和可靠性日益重要,开发者面临着采用更安全的编程实践的巨大压力。「Safe C++」扩展旨在通过引入防止常见内存相关错误的新特性来解决这一关键需求。
「Safe C++」扩展代表了 C++ 迈向更加安全和高效的重要一步,同时保持了语言的性能和灵活性。
“安全标准库 (Safe Standard Library)” 将是「Safe C++」扩展提案中的关键组成部分。它将为开发者提供健壮且内存安全的基本数据结构和算法的实现。
通过将这些组件集成到 C++ 标准库中,我们可以确保在编写新代码时从一开始就考虑到安全性。
过去几年来,包括谷歌和微软在内的科技巨头一直在宣传内存安全漏洞带来的问题,并推广使用除 C 和 C++ 以外不需要手动内存管理的语言。
这些消息也引起了拥有大量遗留代码的美国政府公共部门的注意,并促使白宫和美国网络安全和基础设施安全局(CISA)鼓励使用内存安全编程语言 —— Rust。
尽管有 C/C++ 开发者反驳说,只要正确遵守 ISO 标准并认真应用测试工具,就可以取得类似的结果。
就连 C++ 之父 Bjarne Stroustrup 也表示,“我们现在可以在 ISO C++ 中实现完美的类型与内存安全性。”
去年,互联网安全研究组(ISRG)联合创始人兼执行董事 Josh Aas 在接受采访时指出,虽然理论上有可能编写出内存安全的 C++ 代码,但在实际场景中并没有这样的案例,因为 C++ 并不是从一开始就设计用于内存安全的。
而为了加快向内存安全编程语言的过渡,美国国防部高级研究计划局(DARPA)也启动了 TRACTOR 项目。TRACTOR 是 TRanslating All C TO Rust 的缩写,目标是基于 AI 技术开发代码转换平台,自动将旧 C 代码转换为 Rust 代码。
由此可见,「Safe C++」扩展提案的诞生背景正是为了应对各种批评声音,并响应美国国家安全局(NSA)、美国网络安全与基础设施署(CISA)、白宫和 DARPA 等机构对内存安全性的需求。
相关阅读
C++ 之父 Bjarne Stroustrup 分享人生建议
https://safecpp.org/P3390R0.html
https://cppalliance.org/vinnie/2024/09/12/Safe-Cpp-Partnership.html

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Java 能在 AI 开发领域与 Python 匹敌吗?
Java 能在蓬勃发展的人工智能领域与 Python 一较高下吗?尽管 Python 在 AI 开发方面仍占据主导地位,但 Java 的支持者认为,这种已有近 30 年历史的 Java 编程语言已准备好在 AI 领域大展拳脚。 Oracle 认为 Java 在 AI 领域具有“三重优势”,即利用云基础设施、框架以及将 AI 服务与业务逻辑集成。让 Java 在原生 AI 方面“更胜一筹”,以及与企业数据和云服务进行集成。 Oracle Java 平台产品管理副总裁 Donald Smith 表示:“已经有一套丰富的框架和工具来帮助 Java 开发人员利用 AI 服务,这是一个成功的标志。Java开发人员在使用这样的框架时,可以受益于强类型、内存安全、良好的核心库以及Java的所有其他优势 —— 更不用说,大多数企业业务逻辑已经存在于 Java 中。” Java 技术供应商 Azul 也看到了 Java 在 AI 领域的光明前景。Azul 首席执行官 Scott Sellers 认为,“AI 越是融入传统业务逻辑和那些需要在真正的应用程序层面发生的事情,就越能进入 Java 的最佳状态,...
- 下一篇
通义旗舰模型 Qwen-Max 升级,性能接近 GPT-4o
阿里云CTO周靖人在2024云栖大会上宣布,通义旗舰模型Qwen-Max已经进行了全方位的升级,性能接近GPT-4。 通义官网和通义APP的后台模型均已切换为Qwen-Max,继续免费为所有用户提供服务。用户也可通过阿里云百炼平台调用Qwen-Max的API。 相比上一代模型,Qwen-Max在训练中使用了更多的训练数据、更大的模型规模、更强的人类对齐,最终达到了更高的智能水平。在MMLU-Pro、MATH、GSM8K、MBPP、MultiPL-E、LiveCodeBench等十多个权威基准上,Qwen-Max表现接近GPT-4o;特别是在数学能力和代码能力方面,Qwen-Max甚至超越了GPT-4。 相比2023年4月的初代通义千问大模型,Qwen-Max的理解能力提升46%、数学能力提升75%、代码能力提升102%、幻觉抵御能力提升35%、指令遵循能力提升105%,模型与人类偏好的对齐水平提升了700%以上。
相关文章
文章评论
共有0条评论来说两句吧...