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 ★★☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.