Привет, Michael !
12 Mar 11 , 10:59 Michael Belousoff писал к Nickita A Startcev:
NS>> А я бы асм-вставку сделал. NS>> Или в библиотечную функцию вынес. NS>> Потому что иначе у тебя "оптимизация указана" в одном месте, а NS>> влияет в другом и есть риск испортить эти места независимо.
NS>> Кстати, а разве в "avrlibc" нет готовой функции инициации этого NS>> вочдога?
MB> Может быть, есть, потом поищу.
Я обычно примерно с этого начинаю: ищу в документации и инклюдниках нужный регистр или бит. Иногда куча полезного находится с полпинка. Hапример, util/setbaud.h, который из тактовой частоты и скорости компорта высчитывает все нужные константы.
NS>> Hу, иногда бывает полезно "понимать со словарём" этот бред.
MB> В принципе, тупо пялясь в текст, кое-что и без словаря можно понять.
Обычно этого достаточно, чтоб выявить явные безобразия.
NS>> А писать таки надо на Си или даже С++, но для этого крайне NS>> желательно знать и понимать эти языки и их стандарты. Там есть NS>> неинтуитивные места.
MB> Более полезным твоё сообщение было бы, коли ты привёл бы примеры MB> оных. :-)
У разных людей интуиция разная. Плюс, некоторые вещи, которые стандарт позволяет делать, нормальный трезвый человек делать не будет. Hапример, нормальный человек не будет писать 5[a] вместо a[5] или (в более извращенном случае) return ( a >>5 &3)["(PI)"] ; . Плюс, в спорных или сомнительных случаях, нормальный человек поставит скобки. Плюс, зная правила расширения типов, иногда полезно явно приводить переменные (и даже константы) к инту и даже к более длинным типам.
. С уважением, Hикита. icq:240059686, lj-user:nicka_startcev ... Борьба с глобальным ожирением