Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Каждая система в настоящее время организована с таким макетом памяти как “код — стек — куча”, и это расстраивает.
Every system nowadays is organized with a code-stack-heap memory layout like this, in its deepnesses.
Хмм… Не похоже ли на эту статью?
pmap -XX 1937 > ~/Testprj/processinfo.txt00007fffbd6a0000 132 12 12 rw--- [ stack ]Stack is at 0x7fffbd6be99c#include <cstdio>
#include <stdint.h>
int main() {
int i=3;
int* someptr = new int(l);
printf ("==Exploring system addressing stuff==\n");
printf("Code is at %p \n", (void*)main);
printf("Stack is at %p \n", (void*)&i);
printf("Heap is at %p \n", someptr);
uint64 t basepointer64 = 0;
//source first, dest last, move 64 bit from rbp to value
__asm__ __volatile__("movq %%rbp, %0":"=r"(basepointer64));
printf("RBP is at: %0lx \n", basepointer64);
delete someptr;
getchar();
return 0;
}
==Exploring system addressing stuff==
Code is at 0x557f7fde282a
Stack is at 0x7ffeebd0c164
Heap is at 0x557f81812e70
RBP is at: 7ffeebd0c180
7ffeebcee000 [stack]
7ffeebd6d000 [vvar]
7ffeebd70000 [vdso]
Сегментация памяти (Схема памяти компьютера)