Live briefing
Everything about Stack-based memory allocation
Form of computer memory allocation
Stacks in computing architectures are regions of memory where data is added or removed in a last-in-first-out (LIFO) manner. Wikipedia →
đź§ Start here: a 6-step reading path
- Read the overview: Stack-based memory allocationA 5-minute orientation
- Pick up a classic book: Let Us C++The most-reprinted book on the subject
- Read the landmark paper: Stack Allocation-based Memory Performance Improvement Technique on Android 2.3 Dalvik Virtual MachineCited 1 times
- Go sideways: C dynamic memory allocationA closely related topic
- Go sideways: Memory managementA closely related topic
đź“– Definitions
No dictionary entry for this exact phrase.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
📚 Books worth reading
Let Us C++Yashavant Kanetkar · 2002
Fundamentals of data structures in CEllis Horowitz · 1993
An introduction to data structures with applicationsJean-Paul Tremblay, Paul Gordon Sorenson · 1976
Data structures, algorithms, and applications in C++Sartaj Sahni · 1998
Data Structures and Algorithms in JavaMichael T. Goodrich, Roberto Tamassia · 2014
Introduction to computing systemsYale N. Patt, Sanjay J. Patel · 2003
ADTs, data structures, and problem solving with C++Larry R. Nyhoff · 2005
Processor microarchitectureAntonio González · 2011
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
đź”— Related topics
- C dynamic memory allocation C dynamic memory allocation refers to performing manual memory management for dynamic memory allocation in the C programming language via a group of functions…
- Memory management Memory management (also dynamic memory management, dynamic storage allocation, or dynamic memory allocation) is a form of resource management applied to…
- Call stack In computer science, a call stack is a stack data structure that stores information about the active subroutines and inline blocks of a computer program…
- Variable-length array In computer programming, a variable-length array (VLA), also called variable-sized or runtime-sized, is an array data structure whose length is determined…
- Data segment In computing, a data segment (often denoted .data) is a portion of an object file or the corresponding address space of a program that contains initialized…
- Stack overflow In software, a stack overflow occurs if the call stack pointer exceeds the stack bound. The call stack may consist of a limited amount of address space…
- Buffer overflow In programming and information security, a buffer overflow or buffer overrun is a bug whereby a program writes data to a buffer beyond the buffer's allocated…
- Heap overflow A heap overflow, heap overrun, or heap smashing is a type of buffer overflow that occurs in the heap data area. Heap overflows are exploitable in a different…