реклама на сайте
подробности

 
 
> AVR GCC, размещение двух переменных по одному адресу
Kuz'ka
сообщение Dec 13 2005, 07:59
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 13-12-05
Пользователь №: 12 152



Есть команда препроцессора #define. Ею можно переопределить имя переменной.

int Var1;

#define Var2 Var1;


Но в полученную новую переменную нельзя записать новое значение (Var2 = 34; не работает ).



Есть анонимные объединения:

static union {
float Var1;
float Var2;
};

но компилятор WINAVR видимо не умеет им пользоваться, так как требует ввести имя объединения.


Есть определение ссылки:

float Var1;
float &Var2 = Var1;

оно тоже не работает...

Так вот, как же все таки в WINAVR получить две переменные Var1 и Var2 по одному адресу? (переменные из объединения U.Var1 и U.Var2 не подходят).

Спасибо!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
GrayCat
сообщение Dec 14 2005, 07:15
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 263
Регистрация: 7-10-05
Из: UA
Пользователь №: 9 342



Ну а вот это:
Цитата(Kuz'ka @ Dec 13 2005, 09:59) *
float Var1;
float &Var2 = Var1;
работать и не должно! "Усе напутал!" © Б.р.

Код
float Var1;
float *Var2 = &Var1;
-- так должно работать. Но обращаться прийдется к Var1 и *Var2. И помнить, что обращение по ссылке может ухудшить размер и скорость кода...

Сообщение отредактировал GrayCat - Dec 14 2005, 07:17


--------------------
Gray©at
Go to the top of the page
 
+Quote Post
Old1
сообщение Dec 14 2005, 07:45
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 697
Регистрация: 26-07-05
Из: Могилев
Пользователь №: 7 095



Цитата(GrayCat @ Dec 14 2005, 11:15) *
Ну а вот это:
Цитата(Kuz'ka @ Dec 13 2005, 09:59) *
float Var1;
float &Var2 = Var1;
работать и не должно! "Усе напутал!" © Б.р.

На С не должно, а на С++ работает...
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 12:09
Рейтинг@Mail.ru


Страница сгенерированна за 0.02382 секунд с 7
ELECTRONIX ©2004-2016