首页
新闻
会员
周边
捐助
园子
·
关注
·
粉丝
·
会员
·
随便看看
·
消息
欢迎,请先
登录
或者
注册
。
登录
/
注册
闪存
博客
发言
小组
投递
新闻
提问
博问
添加
收藏
文库
问题反馈
问题列表
我关注的
我的博问
博问标签
const这样理解对吗
0
悬赏园豆:
10
[已关闭问题]
const变量在编译时就直接被替换,也就不存在内存应用
.NET技术
C#
chenleinet
|
菜鸟二级
|
园豆:
270
提问于:2008-08-29 16:10
显示帮助
使用"Ctrl+Enter"可进行快捷提交,评论支持部分 Markdown 语法:[link](http://example.com) _italic_ **bold** `code`。
<
>
分享
分享您的问题
其他回答(6)
0
const是编译时就赋值了,但是不是说不存在内存中,程序运行时,dll会load近内存的吧。
玉开
|
园豆:8822
(大侠五级)
|
2008-08-29 16:20
编辑文本
预览
上传图片
Ctrl+Enter键快速提交
0
我觉得const实在编译期直接替换,因此确实不存在栈空间的占用问题
Gray Zhang
|
园豆:17610
(专家六级)
|
2008-08-29 16:39
编辑文本
预览
上传图片
Ctrl+Enter键快速提交
0
不大清楚C#中的const是如何实现的。在C++中的,使用到const的时候,编译出来的汇编代码是立即寻址,比如: const int x=2; mov dword ptr [ebp-8],02h 还是要把数据送到内存中去的。
小虎无忧
|
园豆:210
(菜鸟二级)
|
2008-08-29 17:17
编辑文本
预览
上传图片
Ctrl+Enter键快速提交
0
const值是在编译期被替换. 应该是直接保存在低级指令里,但也可能被复制到栈里(比如用const值作为参数调用函数),或者堆上对象的字段里.
deerchao
|
园豆:8367
(大侠五级)
|
2008-08-29 17:35
编辑文本
预览
上传图片
Ctrl+Enter键快速提交
0
根据反汇编的经验,GNU C++是编译时替换 C#不知道
JimLiu
|
园豆:300
(菜鸟二级)
|
2008-08-30 14:37
编辑文本
预览
上传图片
Ctrl+Enter键快速提交
0
个人赞同:编译过程中直接替换.
zjy
|
园豆:3194
(老鸟四级)
|
2008-09-01 11:02
编辑文本
预览
上传图片
Ctrl+Enter键快速提交
0
同意Gray Zhang的意见,在编译时被替换的。
Jun1st
|
园豆:240
(菜鸟二级)
|
2008-09-02 17:27
编辑文本
预览
上传图片
Ctrl+Enter键快速提交
清除回答草稿
您需要
登录
以后才能回答,未注册用户请先
注册
。