c++ - 是否有可以与 GCC 4.9.x 一起使用的 GSL 实现?

标签 c++ c++11 gcc cpp-core-guidelines guideline-support-library

据说 Microsoft 的(核心)指南支持库实现支持 GCC 5.1 - 但没有指定对其他版本的支持。更高版本似乎没问题(无论如何,我的 Debian Stretch 上是 5.3.1) - 但使用 GCC 4.9.3 构建测试失败了。

  • 还有其他人实现过 GSL 吗?
  • 无论如何我都可以使用 MS GSL 吗?
  • 如果没有,我可以使用它的一些安全子集吗? (我知道可能不是)
  • 如果没有,那么只有使用较新编译器的人才能拥有指南支持库,这不是一个问题吗?即使他们的旧编译器支持 C++11 甚至 C++14?

最佳答案

是的,我知道有一个:gsl-lite .

到目前为止,它对我来说效果很好。但我将编译器更改为更新版本并且不再需要它了。

您还可以使用 Microsoft 实现的(相当小的)子集。如果您不需要 span 类。它们是 gsl_assert.h(ExpectsEnsures)和 gsl_utils.h(narrow) >,final_act,...)。我想我可能只是调整了一些与 constexpr 相关的东西。

关于c++ - 是否有可以与 GCC 4.9.x 一起使用的 GSL 实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35785569/

相关文章:

c++ - 为什么 cout << ""有效,而 wcout << ""无效?

c++ - 没有重载函数的实例 ""匹配参数列表错误

c++ - 如何修复 'no overloaded function takes 2 arguments' 错误 C++

c++ - 删除从嵌套包中找到的第一个指定类型

c++ - SigCgt 值未在/proc/<pid>/status 文件中更新?

c++ - Qt 模型/ View 使用模型项 : is specific view item required?

c++ - 平滑过渡到标准 3D View 方向

基于 c 中的 EBP 从堆栈帧调用函数及其参数

c++ - std::sort 中的二进制表达式错误(缺少 const)无效操作数:为什么指定比较运算符可以解决这个问题?

linux - 如何在 CentOS 上安装 gcc 4.7.3?