Rust学习笔记


  • 在编译时,一切无法确定大小或者大小可以改变的数据,都无法安全地放在栈上,最好放在堆上。
  • 虽然在栈上内存分配非常高效(预留和释放只需要操作寄存器,不涉及额外计算、不涉及系统调用),但是需要考虑调用栈的大小,避免栈溢出。
  • 栈溢出:一旦当前程序的调用栈超出了系统允许的最大栈空间,无法创建新的栈来运行下一个要执行的函数,就会发生栈溢出,这时系统会被系统终止,产生崩溃信息。
  • 当需要动态大小的内存时,只能使用堆。
  • 当在堆上分配内存时,一般都会预留一些空间。堆上内存分配使用libc提供的malloc函数。
  • 除了动态大小的内存,动态生命周期的内存也分配在堆上。

Tip

下载依赖修改镜像地址

字节跳动镜像仓库:https://rsproxy.cn/


文章作者: 不二
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 不二 !
  目录