[an error occurred while processing this directive]
Dообщето написано что статические переменные сохраняются между вызовами. Может она видима только при повторном вызове этой функции?
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
Piter
26 марта 2006 г. 12:51
В ответ на:
CODEVISION
отправлено TYRE 26 марта 2006 г. 10:03
Составить ответ
|||
Конференция
|||
Архив
Ответы
static никакого отношения в сохраняемости не имеет. Это всего лишь идентификатор, что эта переменная используется только в этом модуле. Сделано чтобы линковщик не путал имена, если они вдруг совпадут
—
Elektronik
(26.03.2006 14:04
194.85.99.225
,
пустое
)
здрасьте приехали
—
-=DASM=-
(26.03.2006 14:35
212.58.192.14
,
пустое
)
Я знаю что локальная static переменная поддреживает значение между функциями. Но у автора d++;, а return a;
—
Elektronik
(26.03.2006 14:47
194.85.99.225
,
пустое
)
как тогда инерпретировать "static никакого отношения в сохраняемости не имеет" ?
—
-=DASM=-
(26.03.2006 14:50
212.58.192.14
,
пустое
)
а убил компилятор совершенно верно (при оптимизации). кроме d++ эта переменная нигде не используется и даже не возращается.
—
Elektronik
(26.03.2006 14:53
194.85.99.225
,
пустое
)
в первую очередь static, что эта переменная действует внутри модуля.
—
Elektronik
(26.03.2006 14:51
194.85.99.225
,
пустое
)
ну объявление ее внутри функции static делает ее время жизни глобальным, сохраняя локальность имени, так ведь ?
—
-=DASM=-
(26.03.2006 14:53
212.58.192.14
,
пустое
)
А я по другому сказал?
—
Elektronik
(26.03.2006 14:57
194.85.99.225
, 305 байт)
по другому (+)
—
-=DASM=-
(26.03.2006 15:00
212.58.192.14
, 52 байт)
ну я хотел сказать, что главное предназначение другое
—
Elektronik
(26.03.2006 15:01
194.85.99.225
,
пустое
)
если хочешь объявлять переменную которая жила бы вечно, то и объявляй ее глобально вне функций.
—
Elektronik
(26.03.2006 14:52
194.85.99.225
,
пустое
)
между вызовами
—
Elektronik
(26.03.2006 14:48
194.85.99.225
,
пустое
)
:-) Нет. Убита компилятором и умерла.
—
Vladimir Ljaschko
(26.03.2006 13:38
80.134.31.68
,
пустое
)
а что она должна оставаться. увеличиваете вы d, а возращаете a. Эта a наверное внешняя переменная
—
Elektronik
(26.03.2006 14:06
194.85.99.225
,
пустое
)
Отправка ответа
Имя (обязательно):
Пароль:
E-mail:
NoIX ключ
:
Запомнить
Тема (обязательно):
Сообщение:
Ссылка на URL:
Название ссылки:
URL изображения:
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
E-mail:
info@telesys.ru