Привет Dmitry!
14 Авг 06 года (а было тогда 18:26) Dmitry E. Oboukhov в своем письме к Andrey Bivshih писал:
AB>> А то, что ты там с foo() сделал, это правильно ? DO> да :) DO> куча функций работает со статическими переменными внутри DO> и это нормально :)
Мы говорим о функции, выполнение которой прерывается и вывызывается снова, причем не рекурсивно, а совершенно асинхронно, например посередине команды обрабатывающей двухбайтовую статическую переменную. И что с этой переменной будет после этого ?
DO>>> придерживаясь правила о том, что средняя глубина вложений DO>>> вызовов в одном можуле должна быть 2-3 AB>> Это еще почему ? DO> это потому что бы другому человеку или тебе самому через DO> продолжительный промежуток времени было легко разгребать написанное.
Разгребать простую рекурсию не просто, а то как ты предлагаешь писать вообще глухо. Это даже не плохой стиль, это прям не чистоплотность. :-)
AB>>>> и между собой они сильно ветвяться, можно что-то упустить. DO>>> это дебил-программист скорее всего такое написал, сильное DO>>> ветвление DO>>> бывает оправдано край как редко AB>> Если тебе приходится писать только проекты не сложнее холло ворд, AB>> это не значит, что все остальные дебилы. DO> если в модуле требуются ветвления 3-4 степени, очевидно просто пора DO> ввести еще один модуль. хеловорды тут не при чем
Во-во, напиши две копии этой функции и вызывай на здоровье одну из основного кода, другую из прерывания. А если уж такого изврата хочешь, пиши прагму. И о стандарте (как ты сказал) тут речь не идет, поэтому про переносимость на другой компилятор не надо. Что он накомпилит, не известно тоже.
AB>>>> А потом долго искать глюки, появляющиеся очень редко и AB>>>> асинхронно AB>>>> режимам работы девайса. DO>>> глюки будут не от реентабельности, а от стиля программирования AB>>
AB>> А он, как известно не зависит от МК или языка. Или для асма тоже AB>> 2-3 уровня вложности ? DO> имено так!
Т.е. вложные прерывания в 18 пиках - это уже плохой стиль ?
DO> макросы за уровень вложенности не считаем ;)
Понятно, более 2-3 уровней вложности в макросах - плохой стиль написания макросов. Эх нету GS, он специалист по макросам, объяснил бы тебе. :-)
AB>> Hу приведи, хоть то что тебе древний компилятор накомпилил, AB>> посмотрим. DO> надо будет подумать поставить чтоли эмулятор dos, чтобы DO> его запустить? хм
Hайду, GCC под атмел версии 0.0.0.00.1b , скомпилю что-нить и буду говорить, какие у него (а за одно и у всего GCC и атмела) глюки жуткие.
DO>>> а с какого фига не компилируется вышеприведенный пример? AB>> А кто тебе сказал, что он не компилиться ? DO> сходил поглядел, в версии 7.85 еще не компилился
Hадо говорить - "уже" не компилит, т.к. это правильно.
DO> сейчас что-то изменилось? я собственно об этом и спросил
Hадеешся на ухудшение качества продукта ? :-)
С уважением, Andrey 15 Авг 06 года
formatting link
E-Mail:a_biv<саба>list,ru Jabber:Andrey_B@jabber,ru |СQ:226793191