Используй старую версию (см. EVO SDK).
Используй старую версию (см. EVO SDK).
Не, я на обещания супероптимизаций в 3.x.x купился прочно.
---------- Post added at 18:36 ---------- Previous post was at 17:54 ----------
Скомпилировал проект, разработанный на CP/M-овском HitechC v3.09 образца 1986 года (TCP/IP стек с веб-сервером, если вдаваться в детали). Результат компиляции SDCC не работает (что ожидаемо после того сколько раз оно мне доставило удивления в процессе), и по размеру исполняемого файла в 1,43 раза больше, чем генерит HitechC (26кб против 18кб). Вот вам и древние компиляторы, работавшие на напорядки более слабой технике. В-общем, надо отлаживать, может и заработает чего-то.
Последний раз редактировалось Error404; 04.04.2012 в 18:39.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Гы, раньше и воздух чище был
Hitech писался строго под i8080 при этом писался он не на OS/360 и не на VAX-е а на компах с прямоадресуемым пространством в 64kb и самое главное писали его за деньги и для денег. SDCC поддерживает пачку процов, написан на компах которые круче OS/360 и VAX-a ну и написан по-приколу энтузиастами. Как говорится почувствуйте разницу!
Ну да, Hitech же под один проц, а значит никаких уровней абстракции там нет практически
Оболочку бы под него удобную, чтоб на пц компилироваться можно было бы (cp/m эмулятор то бишь + обрамляющий скрипт). Какая-то есть в комплекте с UZIX, но глючная, помнится.
Граф Дракула наш кумир, патамушта он вомпир!
VKINK 9 : BORDER NOT PI
Самое главное там нет source-level отладчика. Принтфами тяжеловато отлаживаться. Также есть ряд ограничений на сложность конструкции - "if and and and and на пол-экрана" оно не обработает, приходится делить на несколько вложенных if. Иногда на таких сложных конструкциях оно просто виснет. Однако ж uIP я под него приспособил - а там код: "я те врежу" какой. Еще момент: очень сложные дефайны Hitech не понимает (типа прототредов/протосокетов автора uIP - когда из кучи якобы обособленных "процедур" через дефайны всё собирается в общий case). Но такое и SDCC, похоже, не понимает. По крайней мере он ругался на эти быдлоконструкции.
Поэтому я и ищу замену для Hitech С.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
zxcc вам в помощ. под фриБСД работает нормлаьно. под венду не пробовал, хотя условия сборки этого эмуля говорят о возможности работы в венде/досе.Оболочку бы под него удобную, чтоб на пц компилироваться можно было бы (cp/m эмулятор то бишь + обрамляющий скрипт).
использовать MyZ80 это костыль, крайне не удобная штука изза работы с образами. z80mu крайне глючный эмуль. тот же хайтех на некоторых исходниках там тупо вылетает или вышибает сам эмуль.
к юзиксу нету оболочек для компилятора. есть только несколько "батников" для разных эмулей - для z80mu, 22nice, zxcc и вроде ещё какой то. в качестве компилятора использовался именно цпмная версия хайтеха.Какая-то есть в комплекте с UZIX, но глючная, помнится.
найти ему замену будет крайне сложно. далеко не любой пц кросс-компилятор умеет делать цпм совместимый бинарник, а сами цпм компиляторы по возможностям даже близко не стоят к хайтеху..ну кроме разве что ацтека...но там тоже есть кое какие проблемки...Поэтому я и ищу замену для Hitech С.
ещё можно заюзать кросс-компилятор самого хайтеха под дос. код отличается от того. что делает его старший собрат под цпм.
Error, а ты z88dk не пробовал?
Последний раз редактировалось Sayman; 06.04.2012 в 10:50.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Я почитал про него, и даже проинсталлировал. Смутило то, что проект давно не развивается и везде пишут что он на выходе хуже код дает чем SDCC (еще хуже). Хотя сравнивающие на хуже/лучше явно сравнивали по принципу "на безрыбье", т.к. по прочтении их сравнений я был уверен, что любой из (z88dk, SDCC) будет лучше CP/M-овских.
SDCC кстати такой рыхлый код делает из-за злоупотребления индексными регистрами. Hitech хотя динамические переменные на стеке и адресовал тоже через IX, но делал это как-то более оптимально.
Кроме того я не припоминаю есть ли в z88dk source-level отладчик (а это то, за что надо бороться).
CP/M-вский Azteс C (он же ManxC) я смотрел, но пользоваться им не буду, т.к. оно - это голый K&R, а так теперь уже никто не пишет, и ценность такого компилера для портирования мала не смотря на поддержку long32 и float.
А вот Hitech С - единственный кто поддерживает сразу и K&R и ANSI. Такого не умеют ни z88dk, ни SDCC (которые только ANSI), ни как я уже написал CP/M-вский Azteс C (K&R).
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Error404, варианта два - либо пользоваться хайтехом, либо брать исходники других компиляторов и править их, доводить до нужной консистенции. например bds c либо small c 1.0 кажется... кстати последний более мение приближен к анси...почему в последующих версиях безобразие, не понятно.
Слишком дофига доводить. bds С и small С настолько убоги (как по поддерживаемым типам, так и по набору реализованных конструкций языка), что проще будет писать с нуля, а не помножать чужие глюки. Собственно, так и поступили разработчки SDCC. К чему они пришли за десять с гаком лет, мы тут уже обсудили: еще пилить и пилить.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
ну, скажем так, bds c самый более менее привлекательный из открытых 9на которые можно найти исходники под цпм). он много не умеет, но глюков на порядок меньше чем у других и кстати есть свой дебагер. к сожалению все исходники под интел8080...просто писать с нуля дело явно мутное...
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)