Компания Microsoft открыла систему динамической проверки указателей для кода на языке Си

Материал из Викиновостей, свободного источника новостей

16 июня 2016 года

Компания Microsoft перевела в разряд открытых проектов Checked C, расширение для языка Си, вводящее дополнительные статические и динамические проверки для выявления и блокирования типовых ошибок, таких как переполнения буферов, выход за границы выделенной области памяти и некорректное приведение типов. Наработки открыты под лицензией MIT. Практические реализации расширения Checked C подготовлены для LLVM и Clang, и доступны под свободной лицензией NCSA (лицензия LLVM). Спецификация с описанием Checked C включает 140 страниц.

Checked C вводит серию новых типов указателей и массивов, совместимых с существующими указателями и массивами, для которых во время выполнения программы производится автоматическая проверка выхода за допустимые границы. Расширение полностью обратно совместимо с имеющимся кодом на языке Си и не требует переработки программ. При помощи Checked C разработчики получают возможность дополнительно описать, как они намерены использовать указатели и блоки памяти, на которые ссылаются данные указатели. Предлагается три типа контролируемых указателей: простые указатели на фиксированные структуры, указатели на массивы известного размера и указатели на произвольные блоки памяти переменного размера. Также доступен специальный тип для создания массивов.

Источники[править]


Creative Commons
Creative Commons
Эта статья содержит материалы из статьи «Компания Microsoft открыла систему динамической проверки указателей для кода на языке Си», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии[править]

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.