Portable C Compiler | |
---|---|
Тип | компилятор |
Разработчик | Стивен Джонсон[d] |
Написана на | Си |
Операционная система | UNIX-подобные операционные системы |
Последняя версия |
|
Лицензия | BSD |
Сайт | pcc.ludd.ltu.se (англ.) |
Portable C Compiler (сокращается как pcc или реже pccm — «portable C compiler machine») — один из ранних компиляторов для языка C, написанный Стивеном С. Джонсоном из Bell Labs[2] в середине 70-х, основываясь частично на разработках Алана Снидера.
Стал одним из первых компиляторов, способных адаптировать к различным архитектурам вычислительных систем, что обеспечило ему долгую жизнь. Он поставлялся вместе с BSD Unix до релиза 4.4BSD в 1994 — тогда его заменил GCC. В 1980-х годах был настолько влиятельным, что многие компиляторы базировались на нём. Вот что пишет Денис Ритчи в своей работе[3] об истории языка Си:
![]() | В 1980-е Си быстро набирал популярность и компиляторы стали доступны практически на каждой машине и операционной системе; в частности, он стал популярным как язык программирования для персональных компьютеров, причем одновременно как для разработчиков коммерческого программного обеспечения для этих машин, так и для рядовых пользователей, увлекающихся программированием. В начале десятилетия практически каждый компилятор был основан на pcc Джонсона; к 1985 было уже много компиляторов, созданных независимыми разработчиками. | ![]() |
Успеху Portable C Compiler способствовали его портируемость и высокие диагностические возможности:
Новая версия Portable C Compiler, основанная на оригинальной версии, написанной С. Джонсоном, теперь поддерживается Андресом Магнуссоном. Компилятор распространяется по BSD-лицензии. По словам Андреса:
![]() | …Большое его преимущество (помимо BSD-лицензии, что имеет значение лишь для фанатиков лицензий) в том, что он быстрый, в 5-10 раз быстрее, чем gcc, но при этом не страдает аккуратность а… ещё его довольно легко портировать…[4] | ![]() |
Эта новая версия была добавлена в NetBSD pkgsrc и OpenBSD в сентябре 2007,[5] и, чуть позже, в NetBSD,[6] что породило предположения о том, что со временем этот компилятор может вытеснить GNU C Compiler в рамках операционных систем, основанных на BSD. Разработка и дальнейшее развитие и адаптация компилятора PCC ведётся в основном проектом OpenBSD, и, по состоянию на 29 декабря 2009 года, компилятор PCC строит функциональный образ OpenBSD под x86-32[7].[8]
1 апреля 2011 года, вышла версия PCC 1.0.[9] В данном релизе компилятор поддерживает архитектуры x86, и x64, и запускается на операционных системах NetBSD, OpenBSD, FreeBSD, различных Linux дистрибутивах, а также Windows. Дальнейшая разработка продолжается, включая поддержку большего числа архитектур, а также фронтендов для языков FORTRAN 77 и C++.
В 2012 году PCC был удалён из исходного а OpenBSD. Его разработка застопорилась, и никто не взялся за то, чтобы сделать из него реальную альтернативу GCC.[10]
Последняя версия PCC 1.1.0, была выпущена 10 декабря 2014.
![]() |
Портал «Свободное программное обеспечение» |
---|