[an error occurred while processing this directive]
Ответ: register - это не приказ, а нижайшая просьба.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
trainer
04 сентября 2002 г. 10:28
В ответ на:
А в чем проблема-то? Пиши register int i - и используй себе на здоровье.
отправлено Pumba 04 сентября 2002 г. 10:17
Составить ответ
|||
Конференция
|||
Архив
Ответы
Ну, в прерывании-то, да с using впридачу - просьба скорее всего будет удовлетворена:)
—
Pumba
(04.09.2002 10:47,
пустое
)
А! Таки Вы знаете разницу между "локальными" и "локальными статическими" переменными! Дальнейший спор считаю бесперспективным.
—
Pumba
(05.09.2002 15:26,
пустое
)
Ответ: Далеко не факт. С Keil особо не работал, да и достаточно давно это было, но по опыту использования других компиляторов - все зависит от количества локальных переменных, того, как Вы их используете, какая оптимизация и насколько сообразителен компилятор.
—
trainer
(04.09.2002 13:50,
пустое
)
А! Таки Вы знаете разницу между "локальными" и "локальными статическими" переменными! Дальнейший спор считаю бесперспективным.
—
Pumba
(05.09.2002 15:28,
пустое
)
Тебе Моцарт нравится? - Нет. А ты его слушал? - Да, мне Рабинович напел:) Блин, конечно, если ты все локальные переменные объявишь как register - регистров не хватит. А если одну из - то _скорее всего_, она будет регистровой. Регистров-то -- целый банк!
—
Pumba
(04.09.2002 14:18,
пустое
)
Ответ: Центральный ( ЦБ РФ ) ? Даже если объявить только одну, а вдобавок еще десяток-другой без этого атрибута и активно с ними работать, то даже эта одна не будет в регистре.
—
trainer
(04.09.2002 16:10,
пустое
)
Десяток-другой локальных переменных в прерывании? Мсье знает толк... :) В конце концов всегда можно посмотреть листинг и поправить процедуру прерывания...
—
Pumba
(04.09.2002 19:05,
пустое
)
Ответ: А Вы попробуйте поэмулировать полнофункциональный программируемый RS-232 в дуплексе да с программным буфером и посчитайте количество переменных.
—
trainer
(05.09.2002 08:30,
пустое
)
Попробовал, посчитал. Результат: 0 локальных переменных. Нафига там локальные переменные? Что-то у Вас, батенька с идеологией программирования не в порядке.
—
Pumba
(05.09.2002 08:44,
пустое
)
Браво ! Pumba. Если только это не 196 чип.
—
Kuka
(05.09.2002 09:31,
пустое
)
Ответ: Да это просто шедевр структурного программирования. Ему памятник поставить надо!
—
trainer
(05.09.2002 10:52,
пустое
)
Вообще-то я поддерживаю Pumba. Нет смысла в обработчике прерываний UART с буферами и т.д. использовать локальные переменные - делать им там нечего.
—
Kuka
(05.09.2002 12:59,
пустое
)
Вы не забыли, что речь идет о прерывании?
—
Pumba
(05.09.2002 11:13,
пустое
)
Ответ: А разве это не функция? Посмотрите на декларацию.
—
trainer
(05.09.2002 12:12,
пустое
)
Ув. trainer! Судя по всему Вам интересен собственно спор ради спора. Пожалуйста, в поддержку Вашего примера с программным UART и буферами - приведите пример хоть одной переменной, которую необходимо объявлять локальной в обработчике прерывания. А что до сути вопроса - по-моему я достаточно четко высказалл свое мнение: Да, компилятор не обязан выполнять инструкцию register. Но практически, в большинстве ситуаций, когда требуется регистровая переменная, ее можно получить (даже без "register")
—
Pumba
(05.09.2002 13:24,
пустое
)
Ответ: Не необходимо, а крайне желательно.
—
trainer
(05.09.2002 14:32, 331 байт)
Блин! Это же <b>не те</b> локальные переменные!!!
—
Pumba
(05.09.2002 15:01, 380 байт)
Ответ: А локальные статические переменные уже не являются локальными???????????
—
trainer
(05.09.2002 15:21,
пустое
)
А! Таки Вы знаете разницу между "локальными" и "локальными статическими" переменными! Дальнейший спор считаю бесперспективным. Ибо.
—
Pumba
(05.09.2002 15:41,
пустое
)
А! Таки Вы знаете разницу между "локальными" и "локальными статическими" переменными! Дальнейший спор считаю бесперспективным. Ибо.
—
Pumba
(05.09.2002 15:39,
пустое
)
Ответ: И кстати, а в чем разница?
—
trainer
(05.09.2002 15:52,
пустое
)
Ответ: Чтоб Вы знали : локальные - это область видимости, а статические - это время существования. Не помешало бы Вам увеличить свои познания.
—
trainer
(05.09.2002 15:43,
пустое
)
Мужики,
—
Oldring
(05.09.2002 16:23, 114 байт)
Ответ: Извиняюсь.
—
trainer
(05.09.2002 16:43,
пустое
)
Мужики,
—
Oldring
(05.09.2002 16:21,
пустое
)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru