『微软』微软官宣:GSL 3.0.0发布( 二 )
CMake的改进 新版实现中现已支持find_package 。 一旦新版本完成安装 , 则可以使用find_package(Microsoft.GSL CONFIG)轻松找到GSL库 。
关于multi_span和strided_span的废弃声明 为了将GSL的微软实现和C++ 核心规范(Core Guidelines)更好地保持一致 , 我们决定将gsl::multi_span和gsl::strided_span的实现声明为废弃 。 虽然现在我们还是会提供这些头文件 , 但是它们将不会再进行开发和维护 , 除非C++核心规范需要它们 。
实现变更可能导致的编译失败及修复措施 变更:在gsl::span中 , 原来带符号的std::ptrdiff_t类型修改成无符号的std::size_t可能会导致带符号/无符号的不一致 。 修复措施:使用static_cast或者gsl::narrow_cast来解决这个不一致问题 。
变更:gsl::multi_span和gsl::strided_span被声明为废弃 。 修复措施:以常量引用的方式传递多维数组 , 而不是使用gsl::multi_span 。
变更:使用到了moved span帮助函数的代码可能会产生编译错误 。 例如span比较操作符 , gsl::make_span等 。 修复措施:当你使用到这些函数的时候 , 请包含 , 而不是 。
变更:对契约违规抛出异常已经不再支持 。 修复措施:当应用程序终止运行之前 , 请使用一个终止处理例程来记录相关的诊断信息 。 对抛出异常这一行为的依赖将不再被确保是安全的 。
总结 内存越界的确是一个很容易被忽略且难以诊断的问题 , 如果善用GSL , 应该会显著的减少此类编码错误 , 进而提升产品健壮性 。
本文插图
【『微软』微软官宣:GSL 3.0.0发布】
推荐阅读
- 有鱼说娱乐|官宣!关晓彤、沈腾等进入苏宁618“SUPER SHOW”盛典明星阵容
- |官宣!杨柘出任小米集团中国区CMO 负责品牌建设等
- 太平洋电脑网|微软Surface新品发售!2988 元即可抱回家
- TechWeb.com.cn|官宣!前魅族CMO杨柘加入小米 担任副总裁、中国区CMO
- 太平洋电脑网PConline|微软助力T3/4零售商,携手共赢社交电商时代
- 映维网|微软发布Azure Maps,可为室内AR导航定位提供解决方案
- cnBeta|微软回应AppGet创造者剽窃说:肯定其对Windows软件包管理器的贡献
- 太平洋电脑网|绝对原汁原味!教你从微软官网下载Win10镜像
- 数码小侦探|新消息:华为开始预研6G,并且招募天才少年,微软却猝不及防
- 简明科学指南|微软用人工智能取代新闻工作者
