Цитата Сообщение от OrionExt Посмотреть сообщение
Компилятор Hi-Tech C v3.09 достаточно "простой" (пусть будет в кавычках). В этом я думаю его сила. Он не ищет в коде Си того, чего там нет. С другой стороны эта "простата" иногда вылазит боком в неэффективный код. Но, зная особенности компилятора и Z80, эти несуразицы можно свисти к минимуму. Чем, похоже, и пользовались авторы этого компилятора.
Результаты, которые получает HTC, очень впечатляют и вдвойне, если учесть, что он работает на 64-килобайтной машине. Как уже упоминалось в предыдущем посте, было бы целесообразным проект разобрать и понять этот компилятор с целью сделать его способным ориентироваться на машины z80 в целом. Отделите его от CP / M и подключите его к более общим и современным библиотекам, и там есть большой потенциал. Я думаю, любой, у кого есть реальная машина z80, с удовольствием сможет запустить такой компилятор на самой машине.

На самом деле, вы, вероятно, можете получить 80% пути к идеальной компиляции, не прибегая к мегабайтам интеллекта. Это последние 20%, которые нуждаются в большом анализе и обработке. Sdcc имеет большую часть этого процесса, но он еще далек от совершенства, поэтому вы будете иногда видеть, как он избивается в сравнении с «более простыми» компиляторами.

Скрытый текст


The results that HTC gets is very impressive and doubly so when considering it runs on a 64k machine. As was mentioned in a previous post, it would be a worthwhile project to disassemble and understand this compiler with the aim of making it able to target z80 machines generally. Detach it from CP/M and connect it to more general and modern libraries and there is a great a deal of potential there. I think anyone with a real z80 machine would love to be able to run such a compiler on the machine itself.

In reality, you can probably get 80% of the way to an ideal compile without resorting to megabytes of intelligence. It's the last 20% that needs a lot of analysis and processing. sdcc has the most of this going on but it is far from perfect yet so you'll occasionally see it getting beat in comparisons with "simpler" compilers.
[свернуть]


Если мне не изменяет память, HTC 3.09 создавался с выключенной оптимизацией. При включённой оптимизации мне не удавалась после рекомпиляции получить 98% оригинального кода.
Я бы сделал то же самое, если бы работал в Hitech Существует больше шансов, что ошибки появятся с включенной оптимизацией, поэтому безопасным делом было бы скомпилировать компилятор с выключенной оптимизацией, если это так и было сделано.

Скрытый текст


I would have done the same if I worked at Hitech There is a greater chance for bugs to appear with the optimization enabled so the safe thing to do would be to compile the compiler with optimization off, if that's how they did it.
[свернуть]