Vbcc - Vbcc
Разработчики) | Фолькер Бартельманн |
---|---|
изначальный выпуск | 1995 |
Стабильный выпуск | 0.9g / 4 октября 2019 г. |
Написано в | ANSI C |
Операционная система | Мультиплатформенность |
Тип | Кросс-компилятор |
Лицензия | Бесплатное ПО |
Интернет сайт | www |
vbcc портативный и перенаправляемый ANSI C компилятор. Он поддерживает C89 (ISO / IEC 9899: 1989), а также части C99 (ИСО / МЭК 9899: 1999).
Он разделен на две части. Один не зависит от цели, а другой - от цели. vbcc обеспечивает полную абстракцию арифметики хоста и арифметики цели. Он полностью поддерживает кросс-компиляцию для 8 бит, 16 бит, 32-битный и 64-битный архитектуры.
Встроенные системы поддерживаются такими функциями, как различные размеры указателей, код, совместимый с ROM, встроенная сборка, типы битов, обработчики прерываний, атрибуты разделов и расчет использования стека (в зависимости от серверной части).
vbcc поддерживает следующие серверные части с разной степенью зрелости: 68 тыс., Холодный огонь, PowerPC, 6502, 80x86 (386 и выше), Альфа, C16x / ST10, 68HC12, и Z-машина.
Сам компилятор может работать во всех распространенных операционных системах, включая Windows, Mac OS X, и Unix /Linux.
Оптимизация
Компилятор предоставляет большой набор оптимизаций высокого уровня, а также оптимизаций для конкретных целей для создания более быстрого или меньшего кода. Он также может оптимизировать функции и модули. Оптимизация, не зависящая от цели, поддерживаемая vbcc, включает:
- межмодульное встраивание функций
- частичное встраивание рекурсивных функций
- межпроцедурный анализ потока данных
- межпроцедурный распределение регистров
- размещение регистров для глобальных переменных
- Глобальный исключение общего подвыражения
- Глобальный постоянное распространение
- распространение глобальной копии
- устранение мертвого кода
- анализ псевдонимов
- разворачивание петли
- исключение индукционной переменной
- движение кода с инвариантным циклом
- разворот петли
использованная литература
- Сунита, К.В.Н. (2013). Дизайн компилятора. Пирсон Индия. ISBN 9-332-50029-0. стр.20