Как многие знают, язык программирования C (Си) был разработан Денисом Ритчи в 1972 году на основе более раннего языка В. Основной задачей языка C является прямая работа с архитектурой компьютера, а также написание ОС и драйверов как совместно с языком Ассемблера, так и без него. Впоследствии язык Си послужил основой или оказал существенное влияние на множество других языков, в том числе широко известных C++, Java, C#, Objective—C и др. Помимо этого, язык часто используется как первый язык для изучения программированию в ВУЗах наряду с Паскалем. За более чем 40—летнюю историю использования Си было выпущено большое количество компиляторов как исключительно для этого языка, так и мультиязычных; в том числе и в составе сред разработки IDE. В этой статье рассмотрено несколько актуальных на данный момент свободно распространяемых компиляторов, которые можно использовать для работы и обучения программированию.
Pelles C
Среда разработки и компилятор для ОС Windows, созданная и поддерживаемая Пелле Ориниусом. Pelles C широко используется для обучения и создания windows—приложений. Поддерживается создание 64—битных программ. Среда имеет встроенные редакторы ресурсов, диалоговых окон, встроенные инструменты разработчика и возможность управления проектами Visual Studio. Также поддерживается подсветка синтаксиса, ассемблер MASM и различные наборы инструкций архитектуры Intel. Размер установочного файла Pelles C составляет всего 12 Мб. Компилятор широко используется в российских ВУЗах для обучения программированию на С.
Clang
Достаточно новый компилятор для языков C, C++ и Objective C с универсальным фреймворком LLVM. Проект поддерживается рядом крупных корпораций, в том числе Google и Apple. Набор инструментов Clang и LLVM позволяет заменить традиционный компилятор GCC (GNU Compiler Collection), который долгое время используется для кроссплатформенной разработки на языке C. Также в отличие от GCC Clang позиционируется как универсальный инструмент для языков семейства C, представляющий большие возможности для парсинга и статического анализа кода.
GNU Compiler Collection
Набор свободных компиляторов для различных языков программирования, свободно распространяемых по лицензии GNU. Используется как базовый компилятор для UNIX—систем. Изначально GCC поддерживал только язык C; впоследствии добавилась возможность компилирования исходного кода ряда других языков, в том числе C++, Ада и Фортран.
Начало проекту положил в 1985 году Ричард Столлман, основатель и идеолог движения за свободное ПО. В настоящее время GCC поддерживается программистами—энтузиастами по всему миру под кураторством некоммерческой организации Free Software Foundation. Преимуществом этого компилятора является возможность разработки с его помощью программы, способной работать на различных платформах.
Portable C Compiler
Один из первых компиляторов, разработанных для языка C еще в середине 70—х. Причиной успеха компилятора была его малая платформозависимость и высокая корректность кода. Текущая версия компилятора выпущена в декабре 2014 года по BSD—лицензии. Не исключено, что в будущем PCC заменит GCC в качестве основного компилятора для BSD—систем.
Tiny C Compiler
Компилятор для платформы х86; часто сокращается как TinyCC или ТСС. Работает на Windows и Linux; распространяется по лицензии GNU LGPL. ТСС может исполнять функции интерпретатора, т. е. может выполнять созданную с его помощью программу. Есть возможность использовать C в качестве скриптового языка на платформе Linux. Компилятор отличается высокой компактностью и скоростью компиляции, а также возможностью напрямую использовать динамические библиотеки. ТСС поддерживает несколько стандартов языка C, а также имеет собственные расширения. На текущее время компилятор продолжает стабильно развиваться – последняя версия выпущена в начале 2013 года.
Open Watcom
Проект по созданию свободного кроссплатформенного компилятора для C/C++ и Fortran. Корни проекта уходят в далекий 1965 год, когда четыре канадских студента за два месяца создали компилятор для языка Фортран. Вскоре была создана фирма Watcom, а в 1988 году был представлен компилятор для языка С. По меркам того времени компилятор генерировал быстрый код, что сразу же привлекла внимание программистов. Однако в связи с невозможностью конкурировать с продукцией Microsoft фирма стала испытывать проблемы и вскоре была куплена компанией Sybase, которая открыла исходные коды компиляторов. С 1995 года проект развивается самостоятельно. Отличительными чертами Open Watcom является высокая скорость компиляции исходников, широкий набор встроенных утилит и даже собственная графическая среда разработки. В ближайшее время планируется глобальное обновление проекта с добавлением новых языков, библиотек и других важных дополнений. Текущая версия Open Watcom 1.9 выпущена в 2010 году.