Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
А при работе с глобальными массивами на хера возвращать его адрес? :-)
Отправлено
VasilyS
(80.92.96.25)
01 мая 2010, г. 15:23
В ответ на:
Ага. Глобальный массив, созданный внутри функции. Как ты это себе представляешь? А при чем тут статик? Я ж песал в первом посте: "нельзя локальный"
отправлено
VasilyS
01 мая 2010, г. 15:22
Составить ответ
|
Вернуться на конференцию
Ответы
например
-
доктор
(01.05.2010, 15:27:33
95.27.165.56
, 371 байт)
Это глобальная переменная с ограниченной scope, у нее ЕСТЬ адрес. :-) У локальной - нет.
-
VasilyS
(01.05.2010, 15:30:27
80.92.96.25
,
пустое
)
Какэто нет?! Есть. Только после выхода из функции эта область памяти считается свободной и может выделиться кому-то ещё. Указатель указывает на поле, а там уже другие хозяйничают. (тогда получается, что static таки объявит "глобальную переменную" )
-
maik-vs
(01.05.2010, 15:58:2
94.233.226.32
,
пустое
)
Уже ответил Доку. Нет адреса для вызывающих функций. После выхода из функции, область ее лок. переменных утилизуется недетерминированно (+ прерывания).
-
VasilyS
(01.05.2010, 16:01:50
80.92.96.25
,
пустое
)
Так это называется "область видимости", scope. И фокус со static прокатит. Но не будет реентерабельности.
-
maik-vs
(01.05.2010, 16:05:9
94.233.226.32
,
пустое
)
Ну мыло мочало, начинай сначало ;-) Читай же с начала, Док с этого начал. А я про локальные, "невщзвращвбельные" гутарил..
-
VasilyS
(01.05.2010, 16:08:47
80.92.96.25
,
пустое
)
Да я всё читал и понял. Только нельзя так говорить "нет адреса".
-
maik-vs
(01.05.2010, 16:17:57
94.233.226.32
, 160 байт)
Ну, батенька можно и так говорить. Локальные переменные могут и на регистрах быть, а регистры (вот в Хмега тоже) не имеют явной адресации. А вообще компилятор предупредить должен.
-
VasilyS
(01.05.2010, 16:22:16
80.92.96.25
,
пустое
,
ссылка
)
вот и я об том же, адрес есть, вопрос в том, на что он указывает.
-
доктор
(01.05.2010, 16:21:32
95.27.165.56
,
пустое
)
Регистры у Хмега. Их много, там и локальный массивчик поместится, а.... какой у них адрес?.
-
VasilyS
(01.05.2010, 16:24:42
80.92.96.25
,
пустое
)
регистры это кэш там массивчики не живут ибо им нужен именно адрес ))
-
доктор
(01.05.2010, 16:44:53
95.27.165.56
, 127 байт)
Локальный массив ничем не отличается от локальных переменных и адрес его наверх передавать нельзя. Считай, что нет адреса и басто.
-
VasilyS
(01.05.2010, 16:58:22
80.92.96.25
,
пустое
)
глупость )) и локальные переменные тоже имеют адрес.
-
доктор
(01.05.2010, 17:02:51
95.27.165.56
,
пустое
)
Конечно имеют. Внутри функции его бери - не хочу. А как наверьх его затребуют - херак - и адреса нету :-)
-
VasilyS
(01.05.2010, 17:04:54
80.92.96.25
,
пустое
)
А вот локальные регистровые переменные - те даже своей соседке адрес не дадут. Кержаки наверно. Несмотря на то, что у AVR и 51 регистры имеют адрес.
-
VasilyS
(01.05.2010, 17:08:53
80.92.96.25
,
пустое
)
Нахлынуло: эх, сколько раз меня отсылали нафик на вопрос "девушка, адресочек свой дайте" :-)
-
VasilyS
(01.05.2010, 16:28:40
80.92.96.25
,
пустое
)
и вдруг она отвечает "адресочек динамически распределён другому ресурсу и временно исключён из области видимости" :))
-
maik-vs
(01.05.2010, 16:56:4
94.233.226.32
,
пустое
)
в микроконтроллерах со статической памятью ничего не утилизируется обычно
-
доктор
(01.05.2010, 16:04:30
95.27.165.56
, 88 байт)
:)) Сильно сказано. Следующая же функция со словесами "int index;" в её теле получит твой кусок памяти.
-
maik-vs
(01.05.2010, 16:10:54
94.233.226.32
,
пустое
)
а может и не получит )) это от компилятора зависит и множества других факторов ))
-
доктор
(01.05.2010, 16:13:26
95.27.165.56
,
пустое
)
думаю, пока полнолуние, не получит!
-
maik-vs
(01.05.2010, 16:18:46
94.233.226.32
,
пустое
)
Чево? Статическая? Имеешь в виду SRAM :-) Не утилизуется? Она, блин, по твоему, так и будет до выключения питания нюхать твой протухший локальный массив?
-
VasilyS
(01.05.2010, 16:07:26
80.92.96.25
,
пустое
)
ага так и будет, пока его кто то не затрёт )) вот такие дела ))
-
доктор
(01.05.2010, 16:10:23
95.27.165.56
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 654:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru