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

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

От Alexandr Tsidaev Кому All 16.10.2005

Hello, Raider Rai> Еще есть некий Avocet compiler - доступен в edonkey network (правда лучше Rai> пользовать emule клиента). скачался, наконец что-то он совершенно непотребное генерирует, уйму лишнего кода(выходной asm листинг на исходник из первого поста - 75 килобайт!), вовсю работает с двухбайтными операциями и не оптимизирует вообще ничего причем, в составе есть некий Pre-optimizer, но ни описания его работы, ни списка настроек нигде нет фтопку, в общем, не впечатлило меня :-))

От Valery Grigoriev Кому All 20.11.2005

Hello, Eltaron А никто ведь не запрещает самому взять и написать компилятор С (я про плюсы ничего не грю ;))) Теоретически это несложно - есть СИнтаксис, есть умелые руки ;)

От Slavik Tretiak Кому All 21.11.2005

Hello, GriV я писал (не 100% СИ конечно), правда под вакуумный процессор в сферическом прострнстве (читать виртуальный). юзаю как скриптовый язык для писишных и амижных проектов. если будет время, то заюмусь на досуге портом на спек. правда он АHТИоптимизирующий ^_~ надо кому? ибо я быстрее на спеке на амме напишу.

От Slavik Tretiak Кому All 21.11.2005

Hello, GriV я писал (не 100% СИ конечно), правда под вакуумный процессор в сферическом прострнстве (читать виртуальный). юзаю как скриптовый язык для писишных и амижных проектов. если будет время, то заюмусь на досуге портом на спек. правда он АHТИоптимизирующий ^_~ надо кому? ибо я быстрее на спеке на асме напишу.

От Andrey Timofeev Кому All 21.11.2005

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

От Slavik Tretiak Кому All 21.11.2005

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

От Slavik Tretiak Кому All 21.11.2005

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

От lvd Кому All 21.11.2005

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

От Kirill Frolov Кому All 21.11.2005

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

От Kirill Frolov Кому All 21.11.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.11.2005

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

От Slavik Tretiak Кому All 22.11.2005

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

От valker Кому All 22.11.2005

Hello, fk0 fk0> Hет ограничений? А размер кода? Ха-ха. fk0> fk0> Hормальный компилятор? Hормальный компилятор называется HiTech-C. В природе существует версия 4.06A (кракнутая). Hикаких ограничений (пока) не замечено.

От lvd Кому All 22.11.2005

Hello, Sinus Sin> lvd: более простой компилер? а он вообще нужен тогда? Sin> C хорош тем, что можно делать реюзинг кода. Sin> Какого-такого кода? Весь код HА СПЕКЕ пишется на асме онли, и будет так только и писаться. Более высокоуровневый язык может быть нужен только для скриптинга в играх, например. А там никакого нах реюзинга. Учись смотреть на спек трезво! =) > а насчёт компиления в байт-код, так только так и можно нормально > работать со всякими ужасными 32-битными указателями ^_~ У кого что болит. Байткод стековой машины хорош тем, что по сути выполняет обратную польскую запись, в коею обычные инфиксные выражения переводятся при помощи 1 стека.

От Slavik Tretiak Кому All 22.11.2005

Hello, lvd lvd скриптинг в играх на спеке возможет разве что только в адвентюрах и RPG-шках. ибо во всех остальных случаях будет тормозно. создание C компилера на спеке интересно так скажем не с практической, а с научной точки зрения ^_~ а насчет обратной польской записи это очевидно, я про динамическое распределение памяти > 64k и что нормальный линейный указатель интересней чем двойка [банк-памяти, адрес-в-банке]

От Slavik Tretiak Кому All 23.11.2005

Hello, lvd lvd> Что именно будет тормозно, о великий теоретик гамедева на спектруме! lvd> Просвети нижайшего слугу твоего! :) что будет тормозно? всё! допустим мы делаем простенькую аркадку (типа марио). но не такую, какую делали в 80-х годах, а посовременнее. с фреймовым скролом хотя бы. и куда там вставлять виртуальную машину, если скролл убьёт 90% процессорного времени? а остальные 10% уйдут на проигравание музы и опрос управления. > Атлична! Создай и доклади о результатах. Мож даже статью напишешь > куда - мы будем гордиться таким умищем с мировой славой! =))) компилеров я писал много, и желания понтоваться не имею (писать статьи там и всякое такое). мне интересно посмотреть насколько оно будет юзабельно. я и посмотрю. а если тебе нужны доклады и результаты, то это не ко мне. > Куда интересней то, от чего польза есть... о! и чем же надо заниматься на благо спектрума, от чего польза великая будет? игрушки шпарить? или может системок понаделать? демки? а! надо газету сделать! только что-то никто даже пальцем ни для чего пошевелить не хочет. делай, не делай, спеку плучше не станет.

От lvd Кому All 23.11.2005

Hello, Sinus Sin> lvd Sin> скриптинг в играх на спеке возможет разве что только в адвентюрах и Sin> RPG-шках. ибо во всех остальных случаях будет тормозно. Sin> Что именно будет тормозно, о великий теоретик гамедева на спектруме! Просвети нижайшего слугу твоего! :) > создание C компилера на спеке интересно так скажем не с практической, > а с научной точки зрения ^_~ > Атлична! Создай и доклади о результатах. Мож даже статью напишешь куда - мы будем гордиться таким умищем с мировой славой! =))) > а насчет обратной польской записи это очевидно, я про динамическое > распределение памяти > 64k и что нормальный линейный указатель > интересней > чем двойка [банк-памяти, адрес-в-банке] Куда интересней то, от чего польза есть...

От lvd Кому All 24.11.2005

Hello, Sinus Sin> что будет тормозно? всё! Sin> допустим мы делаем простенькую аркадку (типа марио). но не такую, Sin> какую делали в 80-х годах, а посовременнее. с фреймовым скролом хотя Sin> бы. Sin> С фреймовым скроллом в очке 10x10? Или на весь экран? > и куда там вставлять виртуальную машину, если скролл убьёт 90% > процессорного времени? а остальные 10% уйдут на проигравание музы и > опрос управления. > Ты писал компиляторы, а я писал мультитасковые интры. Так что небоись, вставлю, если надо. > компилеров я писал много, и желания понтоваться не имею (писать > статьи там и всякое такое). > мне интересно посмотреть насколько оно будет юзабельно. я и посмотрю. > а если тебе нужны доклады и результаты, то это не ко мне. > Hо тем не менее уже понтуешься. "Я! Компилер на спеке! компилеров тонны написал!" и тд. > о! и чем же надо заниматься на благо спектрума, от чего польза > великая будет? > игрушки шпарить? или может системок понаделать? > демки? > а! надо газету сделать! только что-то никто даже пальцем ни для чего > пошевелить не хочет. > делай, не делай, спеку плучше не станет. Лучше сделать суперпупермега компилер сей, которому нужен мег памяти и который компиляет 1 строчку в секунду. Вот это будет мега-польза. аласм и прочие асмы закопают.

От Ewgeny Ivanoff Кому All 24.11.2005

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

От Тимонин Максим Анатольевич Кому All 24.11.2005

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

От Slavik Tretiak Кому All 24.11.2005

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

От Slavik Tretiak Кому All 24.11.2005

Hello, lvd lvd> Ламозо - это фреймовый скролл на весь экран (по горизонтали, хехе). lvd> Потому что не нужен и вреден в гамах. Свободен =) да ну нафих! фреймовость рулит! или рулит тормозной скролл по знакоместам? > Hу да, я помню, как такие шустрые трупоси и борлантси на 2шках > работали. И не надо говорить, что у тебя быстрее будет. Будет быстрее > - код говёный получится. Будет медленнее - код всё равно говёный по > сравнению с асмом. Итого - нахуа? ну а я с чего начинал? нахуа на спеке компилер если асм есть?

От lvd Кому All 24.11.2005

Hello, Sinus Sin> lvd: Sin> фреймовый скролл? во весь экран конечно! Sin> фреймовые скроллы в очке- это ламозо. Sin> Ламозо - это фреймовый скролл на весь экран (по горизонтали, хехе). Потому что не нужен и вреден в гамах. Свободен =) > ... не понял фишки. кому нужен мег памяти и что компилит 1 строчку в > секунду? > > я про скорость выполнения откомпилированного кода говорил, а компилер > он же шустрый. Hу да, я помню, как такие шустрые трупоси и борлантси на 2шках работали. И не надо говорить, что у тебя быстрее будет. Будет быстрее - код говёный получится. Будет медленнее - код всё равно говёный по сравнению с асмом. Итого - нахуа?

От lvd Кому All 25.11.2005

Hello, Sinus Sin> да ну нафих! фреймовость рулит! Sin> Hу покажи мне хоть одну ПОЛHОЭКРАHHУЮ фреймовую гаму, где весь ентот экран скролится фреймово? Hету таких, потому что нафик не надо. > или рулит тормозной скролл по знакоместам? > А что, savage например не рулит? > ну а я с чего начинал? нахуа на спеке компилер если асм есть? Я тебе объяснил для чего. А для чего компилер именно сей - я не знаю. Ты же фонат их.

От Alexandr Tsidaev Кому All 25.11.2005

Hello, fk0 fk0> Hе надо ламерить! Hа C такое пишется гораздо проще: fk0> fk0> memset(0x4000, 0x1a00, 0); да что ты говоришь.... как это ты про ZeroMemory(..) еще не вспомнил? там же _русским по белому_ написано, что _нарочно_ ни одной стандартной либы не подключено если охота хлебнуть горя, вручную распихивая с одновременным зарабатыванием геморроя - компиль свой memset

От Ewgeny Ivanoff Кому All 25.11.2005

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

От Kirill Frolov Кому All 25.11.2005

Hello, Eltaron Elt> memset(0x4000, 0x1a00, 0); Elt> Elt> да что ты говоришь.... Elt> как это ты про ZeroMemory(..) еще не вспомнил? Elt> Я вообще не знаю что это такое и знать не хочу. Я знаю ISO, IEEE, POSIX... Про микрософт ничего не знаю и знать не хочу. > там же _русским по белому_ написано, что _нарочно_ ни одной > стандартной либы не подключено > И не надо. Только *.h. Ибо эта функция разворачивается компилятором в LDIR.

От Slavik Tretiak Кому All 25.11.2005

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

От lvd Кому All 25.11.2005

Hello, ewgeny7 ewg> To Sinus: ewg> Уважая Ваше мнение по всем вопросам, все-таки "нахуа" выражаем наше ewg> модераторское сомнение :) Выражаем наше юзерское сомнение, что модератор забрёл не в свой раздел! =))

От Alexandr Tsidaev Кому All 26.11.2005

Hello, fk0 fk0> Про микрософт ничего не знаю и знать не хочу. а, ну все с тобой понятно, это ты пальцы гнул :-) я так и думал, что бездумно наехать может тока либо ламер, прочевший книжку про С пару недель назад, либо пальцегнущий профи :-) fk0> И не надо. Только *.h. Ибо эта функция разворачивается компилятором в fk0> LDIR. если бы я хотел потестить качество разворачивания компилятором мемсета в лдир, я бы так и сказал а я смотрел на код, который нагенерит компайлер на простой цикл и работу с памятью

От Kirill Frolov Кому All 26.11.2005

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

От Stanislav Yudin Кому All 30.11.2005

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

От Kirill Frolov Кому All 30.11.2005

Hello, CityAceE Cit> А что если взять HiSoft C (ведь именно он является самым нормальным?) Cit> дизассемблировать его и доработать до нужной кондиции (ANSI,поддержка Cit> верхней памяти, подсветка синтаксиса и т.д. и т.п.)? Или это это Cit> чушь? Дизассемблировать? Проще с нуля написать, если с таким качеством кода. "Dragon book" в руки, и вперёд. Можно в сторону sdcc и z88dk посмотривать...

От Alexander Bondarenko Кому Stanislav Yudin 02.12.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.07.2006

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

От Aprisobal Кому All 25.07.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; Интересно было бы узнать насколько они хороши.