委员会主席萨特 白宫压力下历史上最大一次性革新 C 在微软停顿缓慢 ISO C 26规范 已效能22年!揭秘C 本周微软离任

  • 电脑网络维修
  • 2024-11-14

编辑 | 言征

出品 | 技术栈(微信号:blog51cto)

14日信息,ISO C++委员会主席赫伯·萨特(Herb Sutter)曾经于本周从微软离任,此前他曾经为微软效能了22年,并选用参与Citadel Securities担任技术钻研员,担任技术策略和培训。他将继续担任ISO委员会主席,并称2024年是C++言语的“关键一年”。

1.“风险”的C++,内存安保性停顿算不上快

正如萨特所说,2024年是C++的关键之年。

更大一局部还是来自美国政府的压力。由于优化内存安保已回升到美国国度安保议题。遭到白宫、“五眼”情报机构、联邦执法机构及美国网络安保与基础设备局等机构的允许。这一点并非空穴来风,依据谷歌的数据,内存安保破绽约占零日破绽的 75%,并且在大型代码库中的严重破绽中,约 70% 都源于此类破绽。

不巧的是,作为老语种,C 和 C++ 经常引发内存安保破绽,由于它们依赖手动内存治理。手动内存治理的长处是通常性能更好,开支更小,对比 Python 或 Java 这样的言语则经过渣滓回收来治理内存。但是,手动内存治理或者会造成缓冲区溢出、经常使用监禁后的内存等外存关系的失误。

往年2月,美国白宫就发表须要在C和C++上采取一些措施来优化内存安保,要么就切换到Rust。

这在 C 和 C++ 社区中,这引发了宽泛的探讨,由于这两种言语都不具有内存安保性,并且是否成功内存安保都存在很大争议。

过后 C++ 社区的一个回应是提出了 Safe C++ 的提案。

过后还是C 和 C++ 委员会成员的前计算机迷信传授、产品设计师及图形专家Robin Rowe 提到了 C++ 之父的选择。

据 Rowe 所言,C++ 言语的创立者 Bjarne Stroustrup 示意他不时在钻研“Profiles” [PDF],并宿愿继续下去。“我很尊崇 Bjarne,但我不以为 Profiles 是正确的答案,” Rowe 说。“而在 C 社区,答案则更不明白,没有真正的执行方案。”

C++ 中一些最大的内存安保破绽是从 C 承袭的。“在3月的会议上,咱们探讨了如何改良意外处置,使 C++ 能有更好的失误处置才干。”Rowe 示意,游戏开发、嵌入式系统及高可用性主机的开发者通常禁用意外,由于它们具有非确定性并且会带来性能疑问。

那么,C++关于安保性的实践举措和方向是什么?在之后的CppCon上,萨特示意,安保性并不同等于完美,但将优先处置“易达的安保指标”,包含在规范库中引入更多安保库、消弭与安保关系的未定义行为、参与编译时的静态安保规定和灵活安保审核。

2.C++26:2026年中期成功,自C++11以来影响最大的一次性革新

萨特在9月的CppCon会议上示意,“C++ 26规范或者会扭转咱们开发软件的模式”,并将成为自C++11以来对言语影响最大的一次性革新。C++ 26规范估量将在2026年中期成功,目前Clang和GCC等编译器中的某些个性已开局逐渐成功。

萨特指出了C++ 26的四个关键个性:

·对std::execution(用于异步操作的规范库)的改良,以增强并发性和并行性。

·类型和内存安保性增强,指标是与其余现代、更安保的言语接轨。

·反射和代码生成,这是“咱们转向编译时编程的一个严重变动”,也是“或者最具影响力的个性”。

·合约个性,用于指定接口并审核其合乎性,包含前置条件、后置条件和形态断言。

萨特在本周的博客中提到,上一个里程碑C++11版本为现代C++引入了auto、lambda表白式和智能指针等个性,而C++ 26的特点将是“自动安保”以及对基于反射的生成型编译时库的片面允许。

萨特对该言语充溢激情:“反射/生成带来了有限或者!等候完整规范化和编译器成功!”有开发者在演讲后评论道。

但是,也有开发者对言语的日益复杂示意担心:“整个言语变得如此复杂。像Cppfront这样的名目有所协助,但咱们须要一个从C++灰烬中崛起的新言语,而不是Rust。”Cppfront是萨特创立的一个试验性编译器,用于验证新概念。

由于须要与遗留代码坚持兼容性,因此参与言语个性总是比删除它们更容易。

3.实施C++新个性,微软有些缓慢

萨特曾在微软从事Visual C++的上班,这是该公司在Windows和Office等关键运行程序中宽泛经常使用的工具。

思考到萨特在ISO委员会中的职务,Visual C++在实施新的C++个性方面相较于Clang和GCC往往较为缓慢,这一点颇为奇异。

有人以为,局部要素是由于近年来,微软外部一些出名人士出于安保性和牢靠性的思考,主张转向Rust,Azure首席技术官Mark Russinovich就是其中之一。

4.改良C++内存安保新思绪

当然,C++也在致力成功白宫的内存安保的要求,并不是只要转向Rust这一条可走。

本周Rowe就提出了一种改良内存治理的TraPC思绪,应用编译器的智能,防止不用要的指针审核,以优化性能。他宿愿编译器能够智能清零越界的指针,从而防止发生风险的“野指针”。

TrapC 的设计理念是让 C 言语保管大抵不变的样式,但指针和失误处置以更透明的模式启动。

不过,由于现有的 C++ 规范委员会流程缓慢,Rowe 以为走传统提案路途过于耗时,因此选用间接分叉 C 言语。

参考链接:

  • 关注微信

本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载联系作者并注明出处:https://duobeib.com/diannaowangluoweixiu/4123.html

猜你喜欢

热门标签

洗手盆如何疏浚梗塞 洗手盆为何梗塞 iPhone提价霸占4G市场等于原价8折 明码箱怎样设置明码锁 苏泊尔电饭锅保修多久 长城画龙G8253YN彩电输入指令画面变暗疑问检修 彩星彩电解除童锁方法大全 三星笔记本培修点上海 液晶显示器花屏培修视频 燃气热水器不热水要素 热水器不上班经常出现3种处置方法 无氟空调跟有氟空调有什么区别 norltz燃气热水器售后电话 大连站和大连北站哪个离周水子机场近 热水器显示屏亮显示温度不加热 铁猫牌保险箱高效开锁技巧 科技助力安保无忧 创维8R80 汽修 a1265和c3182是什么管 为什么电热水器不能即热 标致空调为什么不冷 神舟培修笔记本培修 dell1420内存更新 青岛自来水公司培修热线电话 包头美的洗衣机全国各市售后服务预定热线号码2024年修缮点降级 创维42k08rd更新 空调为什么运转异响 热水器为何会漏水 该如何处置 什么是可以自己处置的 重庆华帝售后电话 波轮洗衣机荡涤价格 鼎新热水器 留意了!不是水平疑问! 马桶产生了这5个现象 方便 极速 邢台空调移机电话上门服务 扬子空调缺点代码e4是什么疑问 宏基4736zG可以装置W11吗 奥克斯空调培修官方 为什么突然空调滴水很多 乐视s40air刷机包 未联络视的提高方向 官网培修 格力空调售后电话 皇明太阳能电话 看尚X55液晶电视进入工厂形式和软件更新方法 燃气热水器缺点代码

热门资讯

关注我们

微信公众号