Я понимаю, что не понял. Мое сомнение, я думаю, можно было бы суммировать в этом:Как компилятор C++ компилирует имена переменных?
В исполняемом файле (машинный код), как представлены «переменные»? Являются ли они статическими адресами памяти? Компилятор дает каждому конкретное «имя» (или просто сохраняет тот, который вы им дали)?
Выраженный в коде:
int x=5;
//Bunch of code
cin>>y;
cout<<x+1;
Как работает программа в каждом и каждая машина знает, какой адрес будет содержать значение 5, чтобы держать занесены значение, чтобы добавить 1 к значению теперь держит и, наконец, напечатать то же значение.
--João
СПАСИБО ВАМ ТАК. Вы столкнулись с трудностями, объясняя мне код внутри asm. Вы не только ответили на мой вопрос, но удовлетворили мое любопытство и заставили меня хотеть учиться сбору. Престижность вам, старший. –
Просто еще одна вещь, если ее не слишком много, чтобы ее просить. Например, эти смещения означают:% ebp -12 = менее 12 адресов, отсчитываемых от базового? –
@ JoãoSilva, если% ebp равно 0xffffcfe8, адрес c будет 0xffffcfe8 - 4 = 0xffffcfdc, если это то, что вы просите. – kharvd