新提案:C++将变得内存安全

embedded/2024/9/24 7:13:02/

革命性的提案:C++ 将添加借用检查、生命周期、mut、send+sync

在遭受内存安全棒的打击两年后,C++ 社区发布了一项提案,以帮助开发人员编写更不容易受到攻击的代码。

Safe C++ 扩展提案旨在解决易受攻击的编程语言的致命弱点,即确保代码没有内存安全漏洞。

C++ 联盟总裁兼执行董事 Vinnie Falco 周四表示:是一项革命性的提案,它为 C++ 编程语言增加了内存安全功能。

这一合作标志着 C++ 生态系统的一个重要里程碑,因为对安全代码的需求从未像现在这样迫切。

这一需求从未像现在这样迫切,因为在过去两年里,私营和公共部门组织一直在推动程序员使用 C#、Go、Java、Python 和 Swift 等内存安全语言编写新应用程序和重写旧程序,尤其是 Rust,因为它是一种性能优异的低级系统语言。

Safe C++ 扩展提案旨在响应美国国家安全局(NSA)和其他五眼情报机构、美国网络安全和基础设施局(CISA)、白宫和 DARPA 等公共部门对内存安全的要求。

Safe C++ 目标是解决传统 C++ 编程中常见的问题,例如内存管理错误和未定义行为,这些问题可能导致安全漏洞。

Safe C++ 项目增加了确保内存安全的新技术:

  • 这包括编译时智能,如借用检查以防止释放后使用错误和初始化分析以确保类型安全。

  • 有出色的借用检查和初始化分析,这是健全性保证的基础。

Safe C++ 的主要特性包括:

  • 安全机制:该语言包含各种安全机制,有助于防止常见的编程错误,使开发人员更容易编写安全代码。
  • 兼容性:Safe C++ 旨在与现有的 C++ 代码库兼容,允许开发人员逐步采用新语言,而无需重写整个项目。
  • 注重安全性:该语言从头开始强调安全性,使其特别适合安全性至关重要的应用程序,例如嵌入式系统和高风险软件环境。

那么,是否也意味着用 Rust 重写 C++ 代码将变得更加容易?

https://www.jdon.com/75472.html


http://www.ppmy.cn/embedded/115967.html

相关文章

Leetcode面试经典150题-130.被围绕的区域

给你一个 m x n 的矩阵 board ,由若干字符 X 和 O 组成,捕获 所有 被围绕的区域: 连接:一个单元格与水平或垂直方向上相邻的单元格连接。区域:连接所有 O 的单元格来形成一个区域。围绕:如果您可以用 X 单…

【Android】模糊搜索与数据处理

【Android】模糊搜索与数据处理 本篇博客主要以根据输入内容动态获取城市为例进行讲解。 获取城市 这一部分主要是根据输入的信息去动态获取城市信息 首先定义了一个名为 NetUtil 的类,主要用于通过 HTTP 请求获取城市信息。 public class NetUtil {private stat…

git 介绍+常用命令

一、介绍 Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git 是创始人 Linus Torvalds,这个人是Linux系统的创始人,超级大佬),他是为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软…

分布式环境中,接口超时到底怎么处理?

目录标题 为什么会存在超时?如何应对可能发生的超时?1. 设置合理的超时时间2. 重试机制3. 熔断机制4. 监控和报警5. 日志记录6. 限流和降级7. 异步处理 以上总结 为什么会存在超时? 接口超时是分布式系统中常见的问题,其原因多种多样,涉及网络、服务…

鸿蒙环境服务端签名直传文件到OSS

本文介绍如何在鸿蒙环境下将文件上传到OSS。 背景信息 鸿蒙环境是当下比较流行的操作环境,与服务端签名直传的原理类似,鸿蒙环境上传文件到OSS是利用OSS提供的PutObject接口来实现文件上传到OSS。关于PutObject的详细介绍,请参见PutObject。…

动动手指探索世界,旅游APP如何定制开发?

旅游APP的出现为旅行带来了许多便利。随着移动互联网的发展,旅游行业也在不断寻求创新与变革。旅游APP为游客提供了更加便捷的旅行体验,通过旅游APP,用户可以了解旅游信息、旅游服务、在线咨询等,实现在线一站式解决旅行需求的目标…

Element UI在工程中使用方式

Element UI 是一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库。它提供了丰富的 UI 组件,可以帮助你快速搭建出美观且功能丰富的 Vue 应用。尽管 Element UI 官方已经宣布停止对 Vue 3 的直接支持(转而支持 Element Plus,其…

React开发环境搭建

‌React开发环境搭建主要包括Node.js安装、编辑器选择、创建React项目等步骤‌。 Node.js安装‌ 从Node.js官网下载并安装最新版本的Node.js,安装过程中npm会自动安装。安装完成后,通过命令行输入node -v和npm -v检查安装是否成功。 carawang%node -v…