эх.... жалко в сях неразбираюсь..... придётся дальше асм ковырять :)))))))))
Вид для печати
эх.... жалко в сях неразбираюсь..... придётся дальше асм ковырять :)))))))))
Првет.
Да, SDCC код даёт более красивый, чем Z88DK. Жаль, его на Амигу не портировали.
Кстати, а как бинарники-то получаем? Там же на выходе *.ihx. Отдельную утилитку качать?
Хм, я почему-то думаю, что всё равно ничего мощного не написать... Памяти мало.
Написать можно. Другое дело что методы MS проникают в головы и часто вместо оптимизации кода покупают более быстрые машины %) А зачем? Вон в далёких 1970x годах писали на форте на 32 кб ОЗУ программу управления телескопом, тривиальная задачка что ли??? Так что не поддерживаю общий тренд высказывания
И не учи ... Вот уже год вынужден писать проги на СИ, поскольку зарубежники ничего другого понять не могут. На изучение потратил аж 3 дня ... IF'ы они и в африке IF'ы, а возможность произвести операцию в математическом выражении, например: "if ((a=a+7)==b) {}" не есть достижение и в большинстве случаев совсем не нужно. Кроме всего все СИ разные, на их примере можно изучать RND. То у них константы струткуры заполняюся с ошибкой, то не работает "(a=(b+7)<<6)", а работу надо сделать, ведь не будешь заказчику объяснять, что компания ST лохонулась в соём супер СИ кмпиляторе. Так и получается, что бы написать портирующийся и универсальный код, только IF'ы и юзать !!! Ну или не писат вовсе.
Вот чего я не могу понять, а зачем компилятор ??? Интерпритатор для Speccy по горло хватит. Или вы собираетесь Plot'ами спрайты выводить ??? Decrunch на СИ или ВАСИКЕ, и 90% кода на ASSM'е !!! Тут совсем не нужна супер скорость математики.
Уже годик есть ... Написал 7-емь проектов из них 6-ть под не менее идиотский нежели СИ линукс. Изучил ... Мнение не изменилось ... Ну а урвень это дело жизни ... Вечное совершенство - стиль моей жизни ... Просто я не стопорюсь на одном и том же. Си не есть идеал и не станет им, он просто развивает лень в программировании. Последний проект был под "BlackFin BF561", и мена кробит результат компиляции Сишного кода, зная каке команды процессора есть у ядра. Практически ядро в данном случае используется на 10%. Теперь Вы попробуйте написать что-то под это ядро на асме и ощутите разницу. Невероятная компактность кода. Так же под ARM-7, а особенно в 32-битном режиме. Изучте в этих ядрах кэш, и увидете как СИ их методично рубит под ноль. На обоих ядрах табличный метод программирования просто "конфетка". Целые операцие с вложенными подпрограммами будут испоняться за пару тактов.
Так что пока мой годичный опыт подтверждает, что асм по-прежнему рулит как икогда. А СИ порождает лень.
СИ нужен это очень полезная вещь но не в 100% кода, от силы 10%.
Год писания не значит год изучения !!! (я вот свою первую программу на бейсике уже почти 20 лет назад написал, но это вовсе не значит что я все эти 20 лет учился)
Добавлено через 3 минуты
Сама идея языков высокого уровня в том что они порождают лень, такова их природа и их предназначение !!!
Более того есть поговорка "Лень двигатель прогресса!"
Если бы древним людям не было лень таскать на горбу тяжёлые грузы так никто не изобрёл бы колесо (а в следствии этого телегу которая упростила перемещение грузов)
Добавлено через 8 минут
Да, на 3.5МГц при 64кб (включая ROM) памяти Си больше похож на извращение чем на необходимость, но в современных компах (когда все инструкции выполняются за один такт в 2-4 потока) человеку просто не под силу оптимизировать ASM код, уж слишком многое надо принимать во внимание (у человека столько "оперативки" в голове нет чтоб учесть все тонкости)
Я не хочу порождать проекты ленью ... Мои работы будут достигнуты путём труда, они будут быстрые и адёжные ... Лень в моих целях будет помехой ... Пусть другие изобетают колесо, я им представлю инструмент для того, что бы они могли его сделть. Для мея лучше созедать нежели потреблять ...
Ты так говоришь, как будто я целый год набивал одну программу. Я думал, что практика это и есть изучение. Уверяю тебя, что я испльзовал все приёмы СИ которые он имеет, по мере необходимости, конечно.