|
|
  |
Структура в Си, Что это такое? |
|
|
|
Aug 9 2007, 12:14
|
Частый гость
 
Группа: Свой
Сообщений: 118
Регистрация: 11-03-07
Из: Украина, Харьков
Пользователь №: 26 059

|
Цитата(rezident @ Aug 9 2007, 14:04)  Самому же процессору/микроконтроллеру структуры по барабану, он работает не с абстракциями, а с реальными адресами/данными. Хочу уточнить. Как раз для АВР его система команд "помогает" компилятору С может сгенерировать очень качественный код при работе со структурами (см. AN035). Так что чем использовать разрозненные объекты -- я бы склонялся к использованию структур
|
|
|
|
|
Aug 9 2007, 20:48
|
Частый гость
 
Группа: Свой
Сообщений: 118
Регистрация: 11-03-07
Из: Украина, Харьков
Пользователь №: 26 059

|
Цитата(rezident @ Aug 9 2007, 17:35)  Компилятор Си основывается на системе команд MCU, поэтому не совсем понятен контекст вашей фразы. Помочь компилятору может сам программист. Точнее его стиль написания программы на Си. Если программист пишет, предполагая как бы он писал эту же программу на ASM, то и компилятор сгенерирует код близкий к предполагаемому. М-да, пожалуй, коряво получилось... Имелось ввиду, что при использовании структуры при последовательном обращении к полям структуры компилятор задействует косвенный режим адресации со смещением, являющийся частью архитектуры, что и приводит к более оптимальному коду по сравнению с рядом других контроллеров
|
|
|
|
|
Aug 9 2007, 21:18
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(korobov_michael @ Aug 9 2007, 23:48)  М-да, пожалуй, коряво получилось... Имелось ввиду, что при использовании структуры при последовательном обращении к полям структуры компилятор задействует косвенный режим адресации со смещением, являющийся частью архитектуры, что и приводит к более оптимальному коду по сравнению с рядом других контроллеров Не буду Вам возражать. Возможно немного огорчу.  Если Вы даже и не используете структуру, то компилятор разрозненные данные тоже групирует и также использует косвенный режим адресации со смещением, являющийся частью архитектуры, что и приводит к более оптимальному коду по сравнению с рядом других контроллеровХотя это никоим образом не умаляет важность и удобство структур.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|