Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Инициализация статических и глобальных переменных в виде структур
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > IAR
sonycman
Можно ли как-то проинициализировать статическую структуру функции ненулевыми значениями? Глобальную переменную в виде структуры?
Чтобы присвоение значений происходило в c startup?

Ещё заметил, что для статических переменных в функциях генерируется "обёртка", которая обрабатывается при каждом заходе в такую функцию.
Почему нельзя было вынести инициализацию опять-же в c startup?
rezident
А функция low_level_init не позволяет искомого? В документе Compiler Reference про нее должно быть описано.
Или я не понял вопроса. cranky.gif
msalov
Цитата(sonycman @ Dec 11 2008, 15:06) *
Можно ли как-то проинициализировать статическую структуру функции ненулевыми значениями? Глобальную переменную в виде структуры?
Чтобы присвоение значений происходило в c startup?

Ещё заметил, что для статических переменных в функциях генерируется "обёртка", которая обрабатывается при каждом заходе в такую функцию.
Почему нельзя было вынести инициализацию опять-же в c startup?

Код
typedef struct {int a; char b; float c;} struct_t;
struct_t st = {1, 'a', 3.089};
Непомнящий Евгений
Цитата(sonycman @ Dec 11 2008, 16:06) *
Ещё заметил, что для статических переменных в функциях генерируется "обёртка", которая обрабатывается при каждом заходе в такую функцию.
Почему нельзя было вынести инициализацию опять-же в c startup?


Это фича такая языка - статический член функции инициализируется при первом вызове, а не при старте программы. Правда для МК она не слишком полезная smile.gif
sonycman
Всё понял, большое спасибо за помощь!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.