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

Как найти переменную в памяти? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ max_i,max,min каковы их назначения в проге? http://www.cyberforum.ru/cpp-beginners/thread758903.html
void task_2(int **A, int M, int N) { int max, max_i, min, i, j, t; bool flag=0; FILE *fp=NULL; char filename="2.txt";
C++ Задание по созданию класса HugeInteger Нужно создать класс HugeInteger, который будет вмещать до 40 цифр в своей записи. Затем задание звучит так "создайте функции-элементы inputHugeInteger, outputHugeInteger, plusHugeInteger, minusHugeInteger для ввода, вывода, сложения и вычитания этих больших чисел". Так вот я не могу понять, эти функции должны быть public элементами класса? input и output я сделал. Но как реализовать... http://www.cyberforum.ru/cpp-beginners/thread758894.html
Объясните, пожалуйста, как работает передача переменных при вызове функций? C++
#include <iostream> #include <conio.h> using namespace std; void z(int *a,int lenght){ int *p; for (p=a;p<a+(lenght-1);p++){ cin >> *p; }
C++ Начальное программирование на C++
Добрый вечер. Думаю следует начать с того, что я захотел начать программировать на C++, но чтобы начать программировать мне нужно поставить перед собой цель, чтобы получить нужный мне результат. Я достаточно хорошо знаю JS, HTML, CSS (Создание сайтов, дизайн и т.д.), но дело в том, что я не прочитал ни одной книги по всем выше перечисленным наименованиям посвященной обучению, я ставил перед...
C++ Чтение текста из файла http://www.cyberforum.ru/cpp-beginners/thread758808.html
Ув. жители форума. Дана задача, только ее нужно переделать чтобы она читала текст из файла! #include<stdio.h> #include<string.h> #include <conio.h> int main(){ char str="asd%%fas%%%", *tmp;\ int i, j, k=0, l=strlen(str); for(i=0; i<l-1; i++){ tmp=strchr(str, str);
C++ Удвоить каждое вхождение символа в строке Дана строка s и c символ . Удвойте каждое вхождение символа c в строке s подскажите пожалуйста как решить. Добавлено через 10 минут Дана строка s и c символ . Удвойте каждое вхождение символа c в строке s подскажите пожалуйста как решить. Извините, забыл свой программный код #include <iostream> подробнее

Показать сообщение отдельно
WhiteP
604 / 202 / 23
Регистрация: 20.11.2012
Сообщений: 419
11.01.2013, 18:25     Как найти переменную в памяти?
ViktorKozlov,
В файле и в памяти значения адресов разные (т.к. секции в памяти выраниваются по 4Кб границам (обычно), а в файле - по 512-байтным (размер сектора диска). Это раз.
Автоматическую переменную (стековую) в файле не найдешь, т.к. она получается динамически в зависимости от того, куда система загрузит модуль и разместит стек. Само значение 58 скорее всего будет прям в коде.
Статические и глобальные переменные в файле есть в секции инициализированных данных (хотя тут от оптимизации компилятором зависит и от того, действительно ли они инициализируются литералом).
1) Найти ее можно, определив ее адрес на этапе выполнения, и вычесть из него адрес начала секции в памяти (есть в заголовке PE). Потом вычесть ImageBase (тоже в заголовке PE).
2) Потом найти смещение секции в файле (для этого нужно посмотреть PE заголовок) и прибавить полученное на первом этапе смещение...

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