т.е. необх static а не стековую...
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
иа
06 января 2004 г. 16:24
В ответ на:
можно ли в Си глобальные переменные объявить satic char ch, так чтобы из других file.c работало extern char ch; ?
отправлено иа 06 января 2004 г. 16:21
Составить ответ
|||
Конференция
|||
Архив
Ответы
если переменная снаружи функции - то она не стековая
—
yes
(06.01.2004 16:27,
пустое
)
то есть просто char ch;
—
yes
(06.01.2004 16:27,
пустое
)
Проверено, gcc делает стековую. Есть большой массив структур, его желат сделать static...
—
иа
(06.01.2004 16:49,
пустое
)
Ответ: что-то новенькое, скорее всего напутано при объявлении сегментов линкеру (-)
—
Pit
(06.01.2004 17:20,
пустое
)
i.e. : gcc + qnx6 ...gnu_debugger-> stekovaya
—
ia
(06.01.2004 17:32,
пустое
)
Да?! А где он ее в стеке помещает, если она объявлена вне ф-ий?
—
Любящий С
(06.01.2004 17:18,
пустое
)
v stack-e dannoi programmyi
—
ia
(06.01.2004 17:35,
пустое
)
А откуда он знает где именно в стеке ее располагать? Приведите полный пример и укажите что именно он располагает в стеке. Аж интересно.
—
Любящий С
(06.01.2004 17:43,
пустое
)
sorry, vsio pravilno, oni static (+)
—
ia
(06.01.2004 18:20, 1858 байт)
блин, пояснил... мне так увиделось, что через SP модулю передается начальный адрес его блока данных, при чем тут "static"
—
Pit
(06.01.2004 18:56,
пустое
)
не так выразился, это скорее это обычная индексная адресация, как я понял стековая переменная ведет свое название от принцыпа выделения/освобождения памяти, типа стека, а какой регистр пользовать в кач базы- не принципиально...
—
иа
(06.01.2004 20:03,
пустое
)
Ответ: а если попробовать: char ch = 0 ; ? (т.е. присвоить глобальной переменной значение)
—
-Тумблер-
(06.01.2004 16:55,
пустое
)
т.е. самому не хотелось б инициализировать указатель на массив структур...
—
иа
(06.01.2004 16:52,
пустое
)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru