fbpx
维基百科

基于堆栈的内存分配

計算機中的堆栈電腦記憶體区域,其中以后进先出 (LIFO)方式添加或删除数据。

在大多数现代计算机系统中,每个线程都會被分配一定的内存区域,称为堆栈。当一个函数执行时,它可能会将一些数据添加到栈顶;当函数準備停止執行時,它负责从堆栈中删除该数据。线程的堆栈用于存储调用者提供的返回地址的位置,以便让返回语句返回到正确的位置。此外堆栈還會用于存储当前活动函数的固定长度变量。程序员也可以使用堆栈来存储可变长度的数据。

系统

许多类Unix系统以及Microsoft Windows都实现了一个名为alloca的函数,用于动态分配堆栈内存。[1][2]该函数早在UNIX/32V英语UNIX/32V(1978) 時就出现在Unix系统上,但不是ANSI C或任何可移植操作系统接口标准的一部分。

参考文献

  1. ^ alloca(3) – Linux程序员手册页 – 库函数(Library Functions)
  2. ^ Why is the use of alloca() not considered good practice?. stackoverflow.com. [2016-01-05]. (原始内容于2021-12-14). 

基于堆栈的内存分配, 計算機中的堆栈是電腦記憶體区域, 其中以后进先出, lifo, 方式添加或删除数据, 在大多数现代计算机系统中, 每个线程都會被分配一定的内存区域, 称为堆栈, 当一个函数执行时, 它可能会将一些数据添加到栈顶, 当函数準備停止執行時, 它负责从堆栈中删除该数据, 线程的堆栈用于存储调用者提供的返回地址的位置, 以便让返回语句返回到正确的位置, 此外堆栈還會用于存储当前活动函数的固定长度变量, 程序员也可以使用堆栈来存储可变长度的数据, 系统, 编辑许多类unix系统以及microsoft, . 計算機中的堆栈是電腦記憶體区域 其中以后进先出 LIFO 方式添加或删除数据 在大多数现代计算机系统中 每个线程都會被分配一定的内存区域 称为堆栈 当一个函数执行时 它可能会将一些数据添加到栈顶 当函数準備停止執行時 它负责从堆栈中删除该数据 线程的堆栈用于存储调用者提供的返回地址的位置 以便让返回语句返回到正确的位置 此外堆栈還會用于存储当前活动函数的固定长度变量 程序员也可以使用堆栈来存储可变长度的数据 系统 编辑许多类Unix系统以及Microsoft Windows都实现了一个名为alloca的函数 用于动态分配堆栈内存 1 2 该函数早在UNIX 32V 英语 UNIX 32V 1978 時就出现在Unix系统上 但不是ANSI C或任何可移植操作系统接口标准的一部分 参考文献 编辑 alloca 3 Linux程序员手册页 库函数 Library Functions Why is the use of alloca not considered good practice stackoverflow com 2016 01 05 原始内容存档于2021 12 14 取自 https zh wikipedia org w index php title 基于堆栈的内存分配 amp oldid 70282297, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。