ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
26 июня
43282 Топик полностью
blackbit (05.11.2005 03:33, просмотров: 1) ответил Bill на А так и должно быть. Вызов функции в процедуре обработки прерываний - сигнал
..вах! Всегда ли?.. >Вызов функции в процедуре обработки прерываний - сигнал >к сохранению ВСЕХ регистров. Человек может помнить (а может и нет) >какие регистры используются в вызываемой функции. Зачем помнить, да? Нужно знать. И прописывать в комментариях. А то, что определено по адресу только во время выполнения кода (пр.:размещение на стеке передаваемых аргументов) указывать хотя бы по суммарному размеру. Так сказать, ресурсы, пожираемые ф-цией. Вообще, если в прерывании не используются ассемблерные вставки, а только С-шный код, то вот помнить не мешало бы именно компилятору. Помнить и предупреждать. >А вдруг, вызываемая функция, в свою очередь, вызывает другую и >т.д. Что тогда? Тогда ничего. Ничего страшного: откуда возьмется это "вдруг", если он (человек) сам эти вызовы и написал? А посмотреть за "ширму", а "прощупать"? Эт что ж получается, что настрогать настрогал, а заботится пусть кто-нибудь другой? Компилятор например... Он-то "позаботится", но за лень придется платить, что и наблюдаем. Аргумент о вложенных вызовах функций противоречит мнению Bill'a :) : http://caxapa.ru/m …wwwboard.html?id=43271 Сами по себе вложенные вызовы (да еще и с аргументами) - это уже "работа". >Самое главное в компиляторе - генерация корректного надежного >кода. Всякие вставки - на совести программиста, компилятор просто >страхуется от причуд человека. Что же тут плохого? Плохо, когда компилятор не дает возможности выбора. Он, прежде всего, является инструментом, а не каким-то продуктом потребления. Плохо, когда компилятор "страхует" и решает что-то за меня втихую, с наглой рожей оставляя меня перед голым фактом. Это скорее нужно домохозяйкам... или прикладным программистам на Pascal'e.