Воскресенье, 08.09.2024, 04:34
WebAssembly
Главная | Каталог файлов | Регистрация | Вход
Меню сайта
Категории раздела
Наш опрос
Оцените мой сайт
Всего ответов: 0
Мини-чат
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

C Intermediate Language: учебник и руководство
15.07.2024, 13:05

CIL, — один из инструментов манипуляции языком Си. Его изучают студенты на курсах по системному программированию наравне с GCC и LLVM. На основе CIL были сделаны разнообразные расширения и анализаторы программ на языке Си:

  • Continuation Passing C (CPC), — добавление зелёных потоков в язык Си. В зелёных потоках был реализован торрент-клиент Геката и производились расширения QEMU.
  • CCured, — автоматическое повышение безопасности унаследованных программ на Си при помощи жирных указателей и run-time проверок. В отличие от многих других аналогов, есть несколько разновидностей жирных указателей с разной производительностью, и инструмент поддерживает цельнопрограммный анализ, по результатам которого ужирняет указатели не более, чем это необходимо. Может оставить указатель как есть, может подготовить к адресной арифметике, добавив границы, может подготовить указатель к ООП, добавив RTTI в соответствии со стандартом Си. Проверено на реальных больших унаследованных программах вроде bind, sendmail, ftpd.
  • Deputy, — развитие идеи CCured, только теперь это уже считается не Си с расширениями для безопасности унаследованных программ, а отдельный язык программирования новых программ, для тех, кому религия не позволяет просто взять и писать на Аде.
  • Frama-C, — верификатор аннотированного подмножества языка Си, популярный среди тех, кому религия не позволяет просто взять и писать на SPARK, верифицируемом подмножестве Ады.

Все перечисленные инструменты, кроме верификатора, производят вывод в Си, то есть, и на входе Си, и на выходе. В этом проявляется своеобразие CIL по сравнению с GCC и LLVM. CIL заточен на академические проекты, на лёгкость трансформаций, в то время как GCC и LLVM во имя производительности заточены быстро разобрать исходный код и произвести машинный.

В архиве хранятся руководство и учебник для курса по системному программированию в ETHZ.

Категория: Документация | Добавил: OCTAGRAM | Теги: GCC, CIL, ETHZ, системное программирование, LLVM
Просмотров: 46 | Загрузок: 0 | Рейтинг: 0.0/0
Всего комментариев: 0
avatar
Вход на сайт
Поиск
Поделиться
Файлы
[15.07.2024][Документация]
C Intermediate Language: учебник и руководство (0)
[28.05.2024][Философия IT]
Джоэл Спольски о программировании (0)
[25.03.2024][История IT]
Hard drive: Bill Gates and the making of the Microsoft empire (0)
Полезные ссылки