2011年6月19日
摘要: 下图展示了CLR加载一个进程,在这个进程中,可能存在多个线程。当一个线程创建时,它会分配到一个1MB大小的堆栈,这个堆栈空间用于向方法传递实参,并用于存储在方法内部定义的局部变量。堆栈是从高位内存发址向低位内存地址构建的。在图中,线程执行了一些代码,它的堆栈上已有一些数据。 在一个最基本的方法中,应该包含一些“开场白(prologue)”代码,它们负责在方法开始做它的工作前对其进行初始化。另外,还应包含一些“收场白(epilo-gue)"代码,它们负责在方法完成工作后对其进行清理,以返回调用者。现在,假定线程执行的代码要调用M1方法。当该方法始执行时,它的“开场白”代码从线程的堆栈中 阅读全文
posted @ 2011-06-19 22:45 辛勤的代码工 阅读(1089) 评论(1) 推荐(1) 编辑