专栏名称: 程序人生
十年漫漫程序人生,打过各种杂,也做过让我骄傲的软件;管理过数十人的团队,还带领一班兄弟姐妹创过业,目前在硅谷一家创业公司担任 VP。关注程序人生,了解程序猿,学做程序猿,做好程序猿,让我们的程序人生精彩满满。
目录
今天看啥  ›  专栏  ›  程序人生

透过 Rust 探索系统的本原:内存管理

程序人生  · 公众号  · 程序员  · 2021-04-26 08:05
    

文章预览

对于开发者来说,内存无非是两种管理模式: 手动管理或者自动管理。 C 语言是手动管理内存的大哥大,而 Java 则是自动 管理的扛把子。 很多人认为 Java 是使用垃圾回收做内存管理的鼻祖,其实不然,lisp 早于 Java 大概二三十年就武装上了简单的 GC。 不过公认的高效率的 GC 是 Java 带给我们的。 不管手动管理还是自动管理内存,这个「管理」,我们说的都是堆上的内存。几乎所有的编程语言,一切栈上的内存都是自动管理的,并且在编译时就已经妥善完成了。 那么栈上的内存是怎么管理的呢?下面是一个简单的函数调用的例子: # include static int VALUE = 42 ; void world ( char *st, int num) { printf ( "%s(%d)\n" , st, num); } void hello ( int num) { char *st = "hello world" ; ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览