LINUX.ORG.RU

Компилятор PCC вернули к жизни


0

0
Существовавший в 70 годах компилятор языка C PCC возвращен к жизни. Автор модификации намеревается сделать его совместимым с диалектом C99. На данный момент, судя по заявлениям этот компилятор работает в 5-10 раз быстрее GCC. Скачать текущую версию можно здесь (292KB).

>>> Подробности

Ответ на: комментарий от bobrik
>[bobrik@bobrik] ~ $> cat a.c >int main () { > return 1; >} >[bobrik@bobrik] ~ $> pcc a.c -o a >ld: /usr/lib/gcc/i586-suse-linux/4.1.0/crtbegin.o: No such file: No >such file or directory >[bobrik@bobrik] ~ $> uname -a >Linux bobrik 2.6.22-gentoo-r4 #6 SMP PREEMPT Fri Aug 31 09:43:25 >EEST 2007 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz GenuineIntel GNU/>Linux

Спасибо. Поржал))) Пусть они этой супер-пупер штукой бздю компилят) авось быстрей сдохнет.

mono ★★★★★
()
Ответ на: комментарий от orlusha
А нафиг собирать код, написанный с использованием нестандартных расширений, труъ-BSD-компилятором? Тут же вам не Линупс...
anonymous
()
Ответ на: комментарий от mono
mono, Линупс как родился "случайно", так и умрёт "случайно". А *BSD - это Тысячелетний Райх в мире UNIX-ов, и он умрёт последним, если UNIX вообще умрёт.
anonymous
()
Ответ на: комментарий от anonymous
> Линупс как родился "случайно", так и умрёт "случайно". А *BSD - это Тысячелетний Райх в мире UNIX-ов, и он умрёт последним, если UNIX вообще умрёт.

Яркий пример феерического бреда anonymous'a, который возникает при наличии у последнего забористой травы, а иногда и без оной..
dragon_djanic ★★
()
Ответ на: комментарий от anonymous
>> Линупс

> К логопеду, быдло! (с)

К логопеду, быдло! (tm) - покупайте наше мороженное.. =)
dragon_djanic ★★
()
Ответ на: комментарий от chapay
Всё понял , убирайте -Werror в Makefile и всё - собирается, кстати себя он собрать не могёт
chapay ★★★
()
Ответ на: комментарий от orlusha
> А этот компилер поддерживает расширения, специфические для gcc? По-моему, их не поддерживает ни один компилер, кроме gcc и интеловского, а без этих расширений ядро линукса не собрать.

линупсоиды ссзБ. А вот базовая система нетбсд уже собирается. Ему пришлось несколько десятков мест только подправить..

dilmah ★★★★★
()
Вот это лол - нифига не поддерживающий последние стандарты и отличные от i386 платформы компилер этим ещё и страшно гордицца! Кому он нафиг нужен? Правильно тут сказали, что не был бы он таким недоразвиым, никакого бы прироста в скорости не существовало бы..
slackerr
()
Ответ на: комментарий от dilmah
> А вот базовая система нетбсд уже собирается. Ему пришлось несколько десятков мест только подправить..

Ну, если еще кеды соберутся бех глюков по стандартной схеме (то есть из сырца в 500 МБ, без деления на куски), тогда вааще респект.

orlusha
()
Ответ на: комментарий от orlusha
> Ну, если еще кеды соберутся бех глюков по стандартной схеме (то есть из сырца в 500 МБ, без деления на куски), тогда вааще респект.

если кто-то не заметил, pcc -- это компилятор Си:)

во вторых, откровенно не понимаю зачем кеды нужны. Использовал их последний раз в прошлом веке, просто потому что мало знал.

dilmah ★★★★★
()
Собрал этот компилятор, отключив -Werror.

Сборка программ осуществляется при помощи команд: pcc -c filename.c filename.S (produce asm file) gcc filename.S -o filename (link an executable using GCC)

Кодогенератор можно вызвать отдельно при помощи следующей команды (на обработанных препроцессором файлах): ccom filename.c spill.S

Что бы генерировать особо быстрый код, помогает вот это: ccom -x temps spill.c spill.S (Для более полного списка опций кодогенератора смотрите файл cc/ccom/main.c)

Проверил на некоторых тестах. Из хорошего: 1) Скорость компиляции - высокая. Но на больших исходных файлах несколько замедляется, особенно 2) генерируемый код лучше чем у TCC или GCC c уровнем оптимизации до -02 или -03 3) Генератор кода и набор поддерживаемых инструкций на X86 - довольно примитивный, по сравнению с GCC и другими серьезными компиляторами 4) Распределение регистров основано на graph coloring, т.е. лучше чем в TCC и LCC 5) В даельнейшем планируется поддержка SSA формы и основанные на ней оптимизации 5) Средства отладки самого компилятора и разных фаз генерации конца довольно полные и есть возможность выдавать отладочную печать после каждой фазы.

В целом, компилятор не плохой, очень компактный, но написан в таком стиле, что его дальнейшая разработка кем-либо со стороны может быть довольна затруднительна. Впрочем - поживем, увидим ...

anonymous
()
Ура, у бсд свой компилятор, гццкапец! Осталось реанимировать CDE/Motif под BSDL, а то Gnome/KDE ведь тоже некошерны.
sv75 ★★★★★
()
Ответ на: комментарий от dilmah
> А вот базовая система нетбсд уже собирается.Ему пришлось несколько десятков мест только подправить..

А работает? Или для нужно еще кое-где поравить?

И на какой архитектуре?

tailgunner ★★★★★
()
Эт оно что, может догнать FPC по скорости компиляции?

А жертвовать чем?

> компилятор работает в 5-10 раз быстрее GCC

Надеюсь код будет не в 5-10 раз медленнее

anonymous
()
Ответ на: комментарий от tailgunner
> А работает? Или для нужно еще кое-где поравить?

соавтор писал что работает.

> И на какой архитектуре?

будто сам не знаешь

dilmah ★★★★★
()
Собрал, его, а откуда можно взять хедеры для него - при использовании стандартных gcc-вых он не работает - не может найти stddef.h?
Deleted
()
Ответ на: комментарий от dilmah
>> И на какой архитектуре?

> будто сам не знаешь

Откуда? В статье по ссылке упомянуты бэкенды для MIPS и 386, а ЕМНИП pcc умел генерировать код для многих архитектур.

tailgunner ★★★★★
()
Ответ на: комментарий от anonymous
> осень наступила и некрофилы достали заступы и вилы!

Чъорт, прочитал как "осень наступила и некрофилы достали залупы" и был очень долгое время фшоке.. о_О
dragon_djanic ★★
()
Ну чё нормальный C-компилер. Лёгенький такой. Собрался без бубна. Вроде как праздник на подходе, в 00:00 будем Linux 0.01 со свечами компилять %^)
kpytoi
()
Ответ на: комментарий от anonymous
>осень наступила и некрофилы достали заступы и вилы!

Декаданс!

anonymous
()
Ответ на: комментарий от Anonymous
>собственность Caldera ведь принадлежит SCO теперь?

Наоборот SCO принадлежит Caldera, но от перемены мест слагяемых...

ansi ★★★★
()
Ответ на: комментарий от ansi
> >собственность Caldera ведь принадлежит SCO теперь?

> Наоборот SCO принадлежит Caldera, но от перемены мест слагяемых...

http://ru.wikipedia.org/wiki/SCO - "SCO, ... ранее была известна как Caldera Systems"...

Deleted
()
Ответ на: комментарий от AiFiLTr0
> Вот это кстати здорово было бы реанимировать))) Примерно кстати даже знаю как)

+1

как? :)))))

m57
()
Ответ на: комментарий от m57
>> Что следующим из анабиоза выйдет?

> FIDO. BBS и прочие сладости =)

Тут в этом году уже рассуждали, что если установят контроль за интернетом, возродятся BBS и FTN на беспроводных устройствах.

acheron ★★★★
()
Ответ на: комментарий от sv75
> Ура, у бсд свой компилятор, гццкапец! Осталось реанимировать > CDE/Motif под BSDL, а то Gnome/KDE ведь тоже некошерны.

у гнома LGPL, да и QT не pure ПЗД (GPL) :)))

anonymous
()
Ответ на: комментарий от Danmer
>checking build system type... Invalid configuration 
>`x86_64-unknown-linux-gnu': machine `x86_64-unknown' not recognized 
>configure: error: /bin/sh ./config.sub x86_64-unknown-linux-gnu failed

config.sub более свежий найти и впихнуть в сырцы.
DukeSS
()
Ответ на: комментарий от acheron
>И из-за своей лицензии интересен, в первую очередь, NetBSD.

Вижу, что добавили в pkgsrc

php-coder ★★★★★
()
Ответ на: комментарий от polachok
>в первую очередь - OpenBSD. они его в систему базовую внесли.

o_O ОГО!

php-coder ★★★★★
()
Ответ на: комментарий от dilmah
>линупсоиды

К логопеду, быдло!

anonymous
()
Написал компилятор математических выражений который умеет +-/*. Работает в 300 раз быстрее GCC. Планирую довести до C99...

Задолбали уже заявы "написал бойдень X - нихера не умеет но зато быстро. Планирую учить чтобы умела...."

r ★★★★★
()
Ответ на: комментарий от dilmah
>линупсоиды

К логопеду, быдло!

anonymous
()
Интересное поделие, правда чтобы заработало пришлось потанцевать с бубном. Код работает чуть медленнее чем скомпиленный с помощью gcc -Os, зато жрёт чуть меньше памяти и вроде бы меньше по размеру.
anonymous
()
Кстати, а где-нибудь есть обстоятельный обзор современных
оптимизирующих компиляторов?
myst
()
Ответ на: комментарий от r
>Написал компилятор математических выражений который умеет +-/*.

А SSE поддерживает?

anonymfus ★★★★
()
Ответ на: комментарий от frame
>У меня на тестовой проге (вычисление PI) его уделал даже FreePascal.

FreePascal это не "даже". Это очень серьезный компилер. Так что не удивительно.

dikiy ★★☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.