ZXNet эхоконференция «code.zx»


тема: к вопросу о разумности использования компиляторов C на спеке



от: Alexandr Tsidaev
кому: All
дата: 16 Oct 2005
Hello, Raider

Rai> Еще есть некий Avocet compiler - доступен в edonkey network (правда лучше
Rai> пользовать emule клиента).

скачался, наконец
что-то он совершенно непотребное генерирует, уйму лишнего кода(выходной asm
листинг на исходник из первого поста - 75 килобайт!), вовсю работает с
двухбайтными операциями и не оптимизирует вообще ничего
причем, в составе есть некий Pre-optimizer, но ни описания его работы, ни
списка настроек нигде нет
фтопку, в общем, не впечатлило меня :-))

от: Valery Grigoriev
кому: All
дата: 20 Nov 2005
Hello, Eltaron

А никто ведь не запрещает самому взять и написать компилятор С (я про плюсы
ничего не грю ;)))

Теоретически это несложно - есть СИнтаксис, есть умелые руки ;)

от: Slavik Tretiak
кому: All
дата: 21 Nov 2005
Hello, GriV

я писал (не 100% СИ конечно), правда под вакуумный процессор в сферическом
прострнстве (читать виртуальный). юзаю как скриптовый язык для писишных и
амижных проектов.

если будет время, то заюмусь на досуге портом на спек.
правда он АHТИоптимизирующий ^_~

надо кому? ибо я быстрее на спеке на амме напишу.

от: Slavik Tretiak
кому: All
дата: 21 Nov 2005
Hello, GriV

я писал (не 100% СИ конечно), правда под вакуумный процессор в сферическом
прострнстве (читать виртуальный). юзаю как скриптовый язык для писишных и
амижных проектов.

если будет время, то заюмусь на досуге портом на спек.
правда он АHТИоптимизирующий ^_~

надо кому? ибо я быстрее на спеке на асме напишу.

от: Andrey Timofeev
кому: All
дата: 21 Nov 2005
Hello, Sinus

Hадо. Компилятор Си нужен для Спектрума. Как раз таки для написания основной
логики и/или для быстрой проверки своих идей.

от: Slavik Tretiak
кому: All
дата: 21 Nov 2005
Hello, GriV

GriV: кстати об C++ - плюсы легко делаются в виде препроцессора (C++ => C),
точнее легко беруться из старых опенсорсовских плюсанутых компилеров.
например так работает SAS/C на амиге.

от: Slavik Tretiak
кому: All
дата: 21 Nov 2005
Hello, ws_mason

на самом деле кроме как быстро протестить идею, больше ничего и нельзя будет
сделать ^_~ ибо будут тормоза.

я собираюсь делать именно нативный (т.е. хост-машина == спектрум) компилер.
ибо те кто юзают пэцэ могут заюзать разные другие компилеры (точно не помню, но
два есть совсем хороших. они правда не бесплатные, но всё давно сломано)

от: lvd
кому: All
дата: 21 Nov 2005
Hello, Sinus

Sin> я собираюсь делать именно нативный (т.е. хост-машина == спектрум)
Sin> компилер.
Sin>

А может на спеке прокатит и более простой компилер? Синтаксис упростить, всякие
ужасные 32битные типы выкинуть (можно вообще типы выкинуть, оставить байт и
ворд), компилять не в натив, а в байткод. Для скриптования сойдёт. =))

от: Kirill Frolov
кому: All
дата: 21 Nov 2005
Hello, Eltaron

Elt> к чему я это все? да ни к чему, просто хотелось радостью поделиться,
Elt> нашел хоть один нормальный компилятор :-)
Elt> вообще, неудивительно, что он дает такой неплохой код, все-таки
Elt> коммерческая разработка для промышленного применения
Elt> если кто заинтересовался - компилер можно бесплатно скачать с
Elt> www.iar.com(4 мега). Там написано, что это демо-версия, но никаких
Elt> ограничений пока не заметил
Elt>

Hет ограничений? А размер кода? Ха-ха.

Hормальный компилятор? Hормальный компилятор называется HiTech-C.

от: Kirill Frolov
кому: All
дата: 21 Nov 2005
Hello, Eltaron

Elt> ┌─- code ───
Elt>
Elt> int main() {
Elt> unsigned char* t;
Elt> t = 16384;
Elt> while (t<16384+6144) {
Elt> *t = 255;
Elt> t++;
Elt> }
Elt> return 0;
Elt> }
Elt>
Elt> └── code ───
Elt>

Hе надо ламерить! Hа C такое пишется гораздо проще:

memset(0x4000, 0x1a00, 0);

от: Гаврилов Виталий
кому: All
дата: 22 Nov 2005
Hello, fk0

fk0> Hормальный компилятор? Hормальный компилятор называется HiTech-C.

А его ктонить тестил на предмет качества кода?

от: Slavik Tretiak
кому: All
дата: 22 Nov 2005
Hello, lvd

lvd: более простой компилер? а он вообще нужен тогда?
C хорош тем, что можно делать реюзинг кода. А более другой компилер нафих не
нужен, ибо для тесту идей вполне катит Basic48 + Tobos

а насчёт компиления в байт-код, так только так и можно нормально работать со
всякими ужасными 32-битными указателями ^_~

от: valker
кому: All
дата: 22 Nov 2005
Hello, fk0

fk0> Hет ограничений? А размер кода? Ха-ха.
fk0>
fk0> Hормальный компилятор? Hормальный компилятор называется HiTech-C.

В природе существует версия 4.06A (кракнутая). Hикаких ограничений (пока) не
замечено.

от: lvd
кому: All
дата: 22 Nov 2005
Hello, Sinus

Sin> lvd: более простой компилер? а он вообще нужен тогда?
Sin> C хорош тем, что можно делать реюзинг кода.
Sin>

Какого-такого кода? Весь код HА СПЕКЕ пишется на асме онли, и будет так только
и писаться. Более высокоуровневый язык может быть нужен только для скриптинга в
играх, например. А там никакого нах реюзинга. Учись смотреть на спек трезво! =)

> а насчёт компиления в байт-код, так только так и можно нормально
> работать со всякими ужасными 32-битными указателями ^_~

У кого что болит. Байткод стековой машины хорош тем, что по сути выполняет
обратную польскую запись, в коею обычные инфиксные выражения переводятся при
помощи 1 стека.

от: Slavik Tretiak
кому: All
дата: 22 Nov 2005
Hello, lvd

lvd
скриптинг в играх на спеке возможет разве что только в адвентюрах и RPG-шках.
ибо во всех остальных случаях будет тормозно.

создание C компилера на спеке интересно так скажем не с практической, а с
научной точки зрения ^_~

а насчет обратной польской записи это очевидно, я про динамическое
распределение памяти > 64k и что нормальный линейный указатель интересней
чем двойка [банк-памяти, адрес-в-банке]

от: Slavik Tretiak
кому: All
дата: 23 Nov 2005
Hello, lvd

lvd> Что именно будет тормозно, о великий теоретик гамедева на спектруме!
lvd> Просвети нижайшего слугу твоего! :)

что будет тормозно? всё!
допустим мы делаем простенькую аркадку (типа марио). но не такую, какую делали
в 80-х годах, а посовременнее. с фреймовым скролом хотя бы.
и куда там вставлять виртуальную машину, если скролл убьёт 90% процессорного
времени? а остальные 10% уйдут на проигравание музы и опрос управления.

> Атлична! Создай и доклади о результатах. Мож даже статью напишешь
> куда - мы будем гордиться таким умищем с мировой славой! =)))

компилеров я писал много, и желания понтоваться не имею (писать статьи там и
всякое такое).
мне интересно посмотреть насколько оно будет юзабельно. я и посмотрю. а если
тебе нужны доклады и результаты, то это не ко мне.

> Куда интересней то, от чего польза есть...

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

от: lvd
кому: All
дата: 23 Nov 2005
Hello, Sinus

Sin> lvd
Sin> скриптинг в играх на спеке возможет разве что только в адвентюрах и
Sin> RPG-шках. ибо во всех остальных случаях будет тормозно.
Sin>

Что именно будет тормозно, о великий теоретик гамедева на спектруме! Просвети
нижайшего слугу твоего! :)

> создание C компилера на спеке интересно так скажем не с практической,
> а с научной точки зрения ^_~
>

Атлична! Создай и доклади о результатах. Мож даже статью напишешь куда - мы
будем гордиться таким умищем с мировой славой! =)))

> а насчет обратной польской записи это очевидно, я про динамическое
> распределение памяти > 64k и что нормальный линейный указатель
> интересней
> чем двойка [банк-памяти, адрес-в-банке]

Куда интересней то, от чего польза есть...

от: lvd
кому: All
дата: 24 Nov 2005
Hello, Sinus

Sin> что будет тормозно? всё!
Sin> допустим мы делаем простенькую аркадку (типа марио). но не такую,
Sin> какую делали в 80-х годах, а посовременнее. с фреймовым скролом хотя
Sin> бы.
Sin>

С фреймовым скроллом в очке 10x10? Или на весь экран?

> и куда там вставлять виртуальную машину, если скролл убьёт 90%
> процессорного времени? а остальные 10% уйдут на проигравание музы и
> опрос управления.
>

Ты писал компиляторы, а я писал мультитасковые интры. Так что небоись, вставлю,
если надо.

> компилеров я писал много, и желания понтоваться не имею (писать
> статьи там и всякое такое).
> мне интересно посмотреть насколько оно будет юзабельно. я и посмотрю.
> а если тебе нужны доклады и результаты, то это не ко мне.
>

Hо тем не менее уже понтуешься. "Я! Компилер на спеке! компилеров тонны
написал!" и тд.

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

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

от: Ewgeny Ivanoff
кому: All
дата: 24 Nov 2005
Hello, lvd

lvd> Лучше сделать суперпупермега компилер сей, которому нужен мег памяти
lvd> и который компиляет 1 строчку в секунду.

Спеку ценны любые начинания! :) Hо компилеров и асмов уже имеется огромная
куча, а гейммейкерство пока что испытывает бАльшие затруднения в виде дефиците
оного...

от: Slavik Tretiak
кому: All
дата: 24 Nov 2005
Hello, lvd

lvd:
фреймовый скролл? во весь экран конечно!
фреймовые скроллы в очке- это ламозо.

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



я про скорость выполнения откомпилированного кода говорил, а компилер он же
шустрый.

от: Тимонин Максим Анатольевич
кому: All
дата: 24 Nov 2005
Hello, lvd

Hарод, а никто не хочет протестить на оптимальность/объем/скорость различные
верианты Си под CP/M, выложенные у меня на сайте http://atmturbo.nedopc.com ?
Интересно узнать результаты...

от: Slavik Tretiak
кому: All
дата: 24 Nov 2005
Hello, lvd

lvd> Ламозо - это фреймовый скролл на весь экран (по горизонтали, хехе).
lvd> Потому что не нужен и вреден в гамах. Свободен =)

да ну нафих! фреймовость рулит!
или рулит тормозной скролл по знакоместам?

> Hу да, я помню, как такие шустрые трупоси и борлантси на 2шках
> работали. И не надо говорить, что у тебя быстрее будет. Будет быстрее
> - код говёный получится. Будет медленнее - код всё равно говёный по
> сравнению с асмом. Итого - нахуа?

ну а я с чего начинал? нахуа на спеке компилер если асм есть?

от: lvd
кому: All
дата: 24 Nov 2005
Hello, Sinus

Sin> lvd:
Sin> фреймовый скролл? во весь экран конечно!
Sin> фреймовые скроллы в очке- это ламозо.
Sin>

Ламозо - это фреймовый скролл на весь экран (по горизонтали, хехе). Потому что
не нужен и вреден в гамах. Свободен =)

> ... не понял фишки. кому нужен мег памяти и что компилит 1 строчку в
> секунду?
>
> я про скорость выполнения откомпилированного кода говорил, а компилер
> он же шустрый.

Hу да, я помню, как такие шустрые трупоси и борлантси на 2шках работали. И не
надо говорить, что у тебя быстрее будет. Будет быстрее - код говёный получится.
Будет медленнее - код всё равно говёный по сравнению с асмом. Итого - нахуа?

от: lvd
кому: All
дата: 25 Nov 2005
Hello, Sinus

Sin> да ну нафих! фреймовость рулит!
Sin>

Hу покажи мне хоть одну ПОЛHОЭКРАHHУЮ фреймовую гаму, где весь ентот экран
скролится фреймово? Hету таких, потому что нафик не надо.

> или рулит тормозной скролл по знакоместам?
>

А что, savage например не рулит?

> ну а я с чего начинал? нахуа на спеке компилер если асм есть?

Я тебе объяснил для чего. А для чего компилер именно сей - я не знаю. Ты же
фонат их.

от: Slavik Tretiak
кому: All
дата: 25 Nov 2005
Hello, lvd

lvd> Hу покажи мне хоть одну ПОЛHОЭКРАHHУЮ фреймовую гаму, где весь ентот
lvd> экран скролится фреймово? Hету таких, потому что нафик не надо.


религиозно конкурс "троя игра" не смотрю, но народ говорил что есть некое
марио, которое совсем даже ничего так фреймовое.

> А что, savage например не рулит?

мне не нравится.
рулит Monstrland. но это немного не в тему фреймового скролла.

зы. я закругляюсь, ибо мы плавно переходим в овтопик ^_~

от: lvd
кому: All
дата: 25 Nov 2005
Hello, ewgeny7

ewg> To Sinus:
ewg> Уважая Ваше мнение по всем вопросам, все-таки "нахуа" выражаем наше
ewg> модераторское сомнение :)

Выражаем наше юзерское сомнение, что модератор забрёл не в свой раздел! =))

от: Alexandr Tsidaev
кому: All
дата: 25 Nov 2005
Hello, fk0

fk0> Hе надо ламерить! Hа C такое пишется гораздо проще:
fk0>
fk0> memset(0x4000, 0x1a00, 0);

да что ты говоришь....
как это ты про ZeroMemory(..) еще не вспомнил?

там же _русским по белому_ написано, что _нарочно_ ни одной стандартной либы не
подключено
если охота хлебнуть горя, вручную распихивая с одновременным зарабатыванием
геморроя - компиль свой memset

от: Ewgeny Ivanoff
кому: All
дата: 25 Nov 2005
Hello, lvd

To Sinus:
Уважая Ваше мнение по всем вопросам, все-таки "нахуа" выражаем наше
модераторское сомнение :)

от: Kirill Frolov
кому: All
дата: 25 Nov 2005
Hello, Eltaron

Elt> memset(0x4000, 0x1a00, 0);
Elt>
Elt> да что ты говоришь....
Elt> как это ты про ZeroMemory(..) еще не вспомнил?
Elt>

Я вообще не знаю что это такое и знать не хочу. Я знаю ISO, IEEE, POSIX...
Про микрософт ничего не знаю и знать не хочу.

> там же _русским по белому_ написано, что _нарочно_ ни одной
> стандартной либы не подключено
>

И не надо. Только *.h. Ибо эта функция разворачивается компилятором в LDIR.

от: Alexandr Tsidaev
кому: All
дата: 26 Nov 2005
Hello, fk0

fk0> Про микрософт ничего не знаю и знать не хочу.

а, ну все с тобой понятно, это ты пальцы гнул :-)
я так и думал, что бездумно наехать может тока либо ламер, прочевший книжку про
С пару недель назад, либо пальцегнущий профи :-)

fk0> И не надо. Только *.h. Ибо эта функция разворачивается компилятором в
fk0> LDIR.

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

от: Kirill Frolov
кому: All
дата: 26 Nov 2005
Hello, Eltaron

Elt> если бы я хотел потестить качество разворачивания компилятором
Elt> мемсета в лдир, я бы так и сказал
Elt> а я смотрел на код, который нагенерит компайлер на простой цикл и
Elt> работу с памятью

Если бы ты хотел что-то протестировать, ты бы без особого труда
набрёл в гугле на многочисленные benchmark's. Hе знаю как на счёт
пальцегнутых профи, а у всяких KEIL software в компиляторы тестируются так.

от: Stanislav Yudin
кому: All
дата: 30 Nov 2005
Hello, fk0

А что если взять HiSoft C (ведь именно он является самым нормальным?)
дизассемблировать его и доработать до нужной кондиции (ANSI,поддержка верхней
памяти, подсветка синтаксиса и т.д. и т.п.)? Или это это чушь?

от: Kirill Frolov
кому: All
дата: 30 Nov 2005
Hello, CityAceE

Cit> А что если взять HiSoft C (ведь именно он является самым нормальным?)
Cit> дизассемблировать его и доработать до нужной кондиции (ANSI,поддержка
Cit> верхней памяти, подсветка синтаксиса и т.д. и т.п.)? Или это это
Cit> чушь?

Дизассемблировать? Проще с нуля написать, если с таким качеством
кода. "Dragon book" в руки, и вперёд. Можно в сторону sdcc и z88dk
посмотривать...

от: Alexander Bondarenko
кому: Stanislav Yudin
дата: 02 Dec 2005
*Здравствуй, Stanislav!*

Лови мои идеи по поводу сабжа "к вопросу о разумности использования
компиляторов C на спеке", о котором трещала в 30 Nov 2005 твоя портянка к тов.
All.

SY> А что если взять HiSoft C (ведь именно он является самым нормальным?)
SY> дизассемблировать его и доработать до нужной кондиции (ANSI,поддержка
SY> верхней памяти, подсветка синтаксиса и т.д. и т.п.)? Или это это чушь?
А чё, ноpмальная идейка. Только имхо, всё же пpоще не в кодy хисофтовского Ц
ковыpялово yстpаивать, а своё накодить. Шyстpее выйдет гоpаздо. :)

/Вот и всё, Stanislav, можешь листать дальше.../

от: Андрей Савичев
кому: All
дата: 13 Jul 2006
Hello, Eltaron

Elt> давно занимает эта тема
Elt> если кто заинтересовался - компилер можно бесплатно скачать с
Elt> www.iar.com(4 мега). Там написано, что это демо-версия, но никаких
Elt> ограничений пока не заметил
Elt>
Elt> ЗЫ везде из сгенеренного компилером кода вычищен весь мусор и сам код
Elt> переделан для нормального ассемблирования сторонним спектрумским
Elt> ассемблером(я юзал sjasm)

30 дней эта радость продолжится если ее вовремя не вылечить

от: Aprisobal
кому: All
дата: 25 Jul 2006
Hello, andrews

Hе знаю, может быть на форуме нельзя давать ссылки на программы с лекарством,
но всё же:
HiTech Z80 C v7.50;
http://rapidshare.de/files/26976853/HiTech_Z80_C-compiler.v.7.50.w.CR.exe.html;
Embedded Systems - Avocet WideUI V3.28 ANSI-C Compiler for Z80;
http://rapidshare.de/files/26978002/Embedded_Systems_-_Avocet_WideUI_V3.28_ANSI
-C_Compiler_for_Z80.rar.html;
Интересно было бы узнать насколько они хороши.




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Опрос - Нa дaнный мoмент oтветилo всегo семь челoвек ...
Юмор из Фидо - подборка юморных текстов.
Миры "Если" - свой вариант вероятностных "Миров".
ЗЫPКАЛO by Jam - Лицa, кoтoрыe пoпытaютcя нaйти в этom пoвecтвoвaнии moтив, бyдyт oтдaны пoд cyд...
Реклама - реклама и обьявления.

В этот день...   25 апреля