Форум программистов, компьютерный форум CyberForum.ru

Сохранить переменную - C++

Восстановить пароль Регистрация
 
хРФх
2 / 2 / 0
Регистрация: 21.12.2012
Сообщений: 36
21.12.2012, 16:18     Сохранить переменную #1
Доброго времени суток, товарищи.

Задача: необходимо сохранить переменную по известному адресу, а затем её оттуда считать.

Как считать вполне ясно, а вот как положить?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
379 / 225 / 2
Регистрация: 17.12.2011
Сообщений: 816
Записей в блоге: 1
21.12.2012, 16:23     Сохранить переменную #2
Указатели C++ или Assembler?
хРФх
2 / 2 / 0
Регистрация: 21.12.2012
Сообщений: 36
21.12.2012, 16:25  [ТС]     Сохранить переменную #3
ммм, и мне тоже кажется, что на указателях. Но как именно?
sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
379 / 225 / 2
Регистрация: 17.12.2011
Сообщений: 816
Записей в блоге: 1
21.12.2012, 16:31     Сохранить переменную #4
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
 
using namespace std;
 
int main() {
    int a = 10;
    int* b = &a;
    cout << &a;
}
P.S. Вывод адреса переменной a.
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
21.12.2012, 16:33     Сохранить переменную #5
Адрес ещё не означает указателя. Функция
C++
1
2
3
4
void f(int &x)
{
 x=24;
}
сохраняет переменную по параметру-адресу, но не указателю, а ссылке.
хРФх
2 / 2 / 0
Регистрация: 21.12.2012
Сообщений: 36
21.12.2012, 16:36  [ТС]     Сохранить переменную #6
Цитата Сообщение от sovaz1997 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
 
using namespace std;
 
int main() {
    int a = 10;
    int* b = &a;
    cout << &a;
}
P.S. Вывод адреса переменной a.
ты не понял. у меня известен адрес. Например 0xE008 0000. И именно туда мне нужно положить значение переменной
sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
379 / 225 / 2
Регистрация: 17.12.2011
Сообщений: 816
Записей в блоге: 1
21.12.2012, 16:38     Сохранить переменную #7
Цитата Сообщение от хРФх Посмотреть сообщение
ты не понял. у меня известен адрес. Например 0xE008 0000. И именно туда мне нужно положить значение переменной
Ассемблер в помощь
P.S. Не угробь ОЗУ (если она дорогая)
хРФх
2 / 2 / 0
Регистрация: 21.12.2012
Сообщений: 36
21.12.2012, 16:40  [ТС]     Сохранить переменную #8
Цитата Сообщение от sovaz1997 Посмотреть сообщение
Ассемблер в помощь
P.S. Не угробь ОЗУ (если она дорогая)
у меня МК =)

Добавлено через 1 минуту
Цитата Сообщение от taras atavin Посмотреть сообщение
Адрес ещё не означает указателя. Функция
C++
1
2
3
4
void f(int &x)
{
 x=24;
}
сохраняет переменную по параметру-адресу, но не указателю, а ссылке.

т.е. переменная сохранится по адресу "24"?
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
21.12.2012, 16:40     Сохранить переменную #9
Цитата Сообщение от хРФх Посмотреть сообщение
Например 0xE008 0000.
Он может быть не доступен.
sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
379 / 225 / 2
Регистрация: 17.12.2011
Сообщений: 816
Записей в блоге: 1
21.12.2012, 16:40     Сохранить переменную #10
Цитата Сообщение от хРФх Посмотреть сообщение
у меня МК =)
Что?
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
21.12.2012, 16:41     Сохранить переменную #11
Цитата Сообщение от sovaz1997 Посмотреть сообщение
P.S. Не угробь ОЗУ (если она дорогая)
Каким образом?

Добавлено через 38 секунд
Цитата Сообщение от хРФх Посмотреть сообщение
т.е. переменная сохранится по адресу "24"?
Нет. x - это адрес, а внего помещается 24.
хРФх
2 / 2 / 0
Регистрация: 21.12.2012
Сообщений: 36
21.12.2012, 16:44  [ТС]     Сохранить переменную #12
я работаю с МикроКонтроллером и у него эта область памяти энергонезависима. Вот мне и нужно положить туда архиважные сведения о системе. Вопрос: как?=)

Добавлено через 1 минуту
Цитата Сообщение от taras atavin Посмотреть сообщение
Каким образом?

Добавлено через 38 секунд
Нет. x - это адрес, а внего помещается 24.
а как присвоить адрес иксу?
sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
379 / 225 / 2
Регистрация: 17.12.2011
Сообщений: 816
Записей в блоге: 1
21.12.2012, 16:45     Сохранить переменную #13
Цитата Сообщение от хРФх Посмотреть сообщение
я работаю с МикроКонтроллером и у него эта область памяти энергонезависима. Вот мне и нужно положить туда архиважные сведения о системе. Вопрос: как?=)
Это очень специфический вопрос. Не думаю, что кто-то на него ответит
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.12.2012, 16:49     Сохранить переменную
Еще ссылки по теме:

C++ Обьяснить переменную
Работа со стеком (вытащить значение и сохранить в переменную) C++
Как сохранить строку в переменную? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
21.12.2012, 16:49     Сохранить переменную #14
Сколько байт класть? Какие типы есть в кроссях? Каковы их размеры в байтах? От этого будет зависеть, чем надо заменить слово "type".
C++
1
2
3
type *p;
p(type)0xE0080000;
*p=Value;
. Слово "Value" замени на сохраняемое значение, или функцию/выражение для его вычисления.

Добавлено через 1 минуту
Цитата Сообщение от хРФх Посмотреть сообщение
а как присвоить адрес иксу?
Это происходит при вызове.
C++
1
2
int y;
f(y);// Здесь иск стал равен адресу игрека
.
Yandex
Объявления
21.12.2012, 16:49     Сохранить переменную
Ответ Создать тему
Опции темы

Текущее время: 07:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru