[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
>Так что переход с АСМа на Си не должен вызывать особых проблем,
>единственный фактор - психологический, попытка выполнять работу
>заместо компилятора. Это всё равно, что взять вместо молотка
>строительный пистолет, и забивать гвозди ударами его рукоятки :-)
>Ну, тут нет другого выхода, как взять себя за горло, и подавить
>это стремление на корню. Пусть Ваши программы поначалу будут не
>самыми эффективными, ничего, опыт приходит во время е..бы.
Осваивал Си года два назад и особых проблем не было. Но нехорошая, на Ваш взгляд, привычка смотреть, что там натворил компилятор осталась.
Мое мнение - если взял новый для себя компилятор, то надо изучить какие конструкции Си он понимает хорошо, а что лучше делать не нужно, ибо ни к чему хорошему это не приведет. А потом, когда это изучишь, уже можно и не смотреть, ну разве что в критичных случаях.
Вот последний пример: подсунул я давеча HT-PICC кусок кода на Си для вычисления CRC-16 (пример из какого-то Application Notes). Что мне компилер накомпилил! Тихий ужас! Раза в три длиннее, чем у меня была старая функция на асме. А CRC-16 вычисляется в прерывании, во время передачи следующего байта, каждая мкс на счету! Ну, объяснил компилеру поподробней, что я от него хочу и вот результат - только одна лишняя команда (хотя мне совершенно не понятно, почему оптимизатор ее не убрал - простейший случай).
E-mail: info@telesys.ru