| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 146 人关注过本帖
标题:类与内存一些疑问
收藏  订阅  推荐  打印 
shizjun
Rank: 1
等级:新手上路
帖子:49
积分:380
注册:2008-9-16
类与内存一些疑问

C#是完全面向对象的,因此所有的方法与数据都封装在类中.当对一个对象分配了内存空间其实是对其中的数据分配内存,
那么与它对应的方法在内存中是如何分配的,是和数据放在一起还是分开,如果分开那么对象如何来找到这些方法来进行调用,并且这些方法又是怎么找到这些数据进行操作呢
搜索更多相关主题的帖子: 内存  疑问  
2008-10-8 15:33
wuwenya
Rank: 1
来自:安徽
等级:新手上路
帖子:6
积分:168
注册:2008-10-5

当程序去执行函数时候可能发生的情况会根据所用操作系统以及编译器的不同而有所不同:
(1):指令指针(是一块特殊的内存区域,直接建立在中央处理器cpu内部)的地址值增加1,指向函数调用后的下一条指令,这个地址随后被放入堆栈中,它将被作为函数(方法)返回时的返回地址.
(2):在堆栈中为你所生命的返回值类型开辟新空间.
(3)被调方法的地址存储在为此目的而划出的一块特殊内存区域中,此时系统将这个地址加载到指令指针中,于是执行下一条指令将位于被调用函数中
(4)当前的堆栈的栈顶被记录下来并存入一个叫栈桢的特殊指针中,从现在开始在函数(方法)返回前加入堆栈的任何数据都将被视为方法的局部数据
(5)函数的所有变元都被放入堆栈
(6)现在执行指令指针中的指令,也就是执行函数的第一条指令
(7)局部变量按其定义的方式被压入堆栈....在运行期间,局部变量也被添加到堆栈,当函数返回时,这些值都从堆栈中被弹出而删除.
2008-10-8 22:26
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.073594 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved