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

 
 
> 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
Ответов
Petka
сообщение Dec 13 2005, 08:31
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886



Цитата(Kuz'ka @ Dec 13 2005, 10:59) *
Есть команда препроцессора #define. Ею можно переопределить имя переменной.

int Var1;

#define Var2 Var1;


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

.........
Спасибо!


Как это не работает?! Такого быть не может, потому-что такого не может быть!
при компиляции везде после самого #define все "Var2" ЗАМЕНЯЮТСЯ на Var1. Если не работает Var2, значит и не работает Var2! Привнедите полный код, вероятно у вас ошибка.
Go to the top of the page
 
+Quote Post



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

 


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


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