Есть ли реализация GSL, которую я могу использовать с GCC 4.9.x?

Утверждается, что реализация библиотеки поддержки Microsoft (Core) Guidelines поддерживает GCC 5.1, но не определяет поддержку других версий. Более высокие версии кажутся нормальными (в любом случае 5.3.1 на моем Debian Stretch) — но сборка тестов с помощью GCC 4.9.3 не удалась

  • Кто-нибудь еще внедрил GSL?
  • Можно ли как-нибудь использовать MS GSL?
  • Если нет, могу ли я использовать какое-то безопасное его подмножество? (Наверное нет, я знаю)
  • Если нет, то разве не проблема, что только люди с новыми компиляторами могут иметь библиотеки поддержки руководств? Хотя их старые компиляторы поддерживают C ++ 11 или даже C ++ 14?

1

Решение

Да, я знаю одно: GSL-облегченный.

До сих пор это работало нормально для меня. Но я изменил свой компилятор на более новую версию, и он мне больше не нужен.

Вы также можете использовать (довольно небольшое) подмножество реализации Microsoft. Если вам не нужно span-классов. Это gsl_assert.h (Expects, Ensures) а также gsl_utils.h (narrow, final_act…) Я думаю, что я мог бы настроить только некоторые constexpr связанные вещи.

2

Другие решения

Других решений пока нет …