关于堆栈,程序中变量地址的问题

来源:百度知道 编辑:UC知道 时间:2024/06/17 18:49:30
以前写程序,没考虑到内存中的情况,最近学了系统级编程和组成原理,突然觉得自己是个废物,程序如何运行以及声明的变量,函数在内存中是怎么存在的,入栈出栈的规律是什么,这些都不太懂,就比如说程序中哪些变量处在哪些位置,那些未知的内存中又会有什么情况,小弟都不知道。

在这里也不希望能得到解答,只希望过来人能推荐2本书,能够解决这些问题,小弟自己会去学。

最后,请别复制粘贴,真没什么意思。

谢谢!

《深入理解计算机系统》 这书不错,谁看谁知道^_^

看完之后再看 《深入理解Linux内核》

看完之后,绝对可以解决你现在这个问题。
看来分是我的了,哈哈

学了《计算机组成原理》应该就了解不少了啊。
再学下《操作系统》就差不多了

从你问的问题看 你的确只学到了皮毛,你问的这些一般的 数据库 书中都有

< 编译原理 > ,不过很难看懂。
如果你很聪明,看完之后保你有收获。

你要是只写应用层,简单的很:小buf用栈,系统安排出入,自动释放.大buf用堆,记得自己释放.保证没有内存泄露就好了.

要是写内核或者驱动,建议你再学习一段时间,现在的你无法胜任.

如果你只是想在写程序的时候用, 看看程序设计中的结构体中的字节对齐就够了,如果你是想研究透彻,推荐编译原理和操作系统内核