免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: dadaball
打印 上一主题 下一主题

[C] c语言的尴尬:取常量地址 [复制链接]

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
31 [报告]
发表于 2004-09-06 09:14 |只看该作者

c语言的尴尬:取常量地址

[quote]原帖由 "aero"]比如你在程序里面有一个表达式:2+2。那么编译后,它就是一个数值:4。[/quote 发表:

越解释越乱套~
开始胡说了。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
32 [报告]
发表于 2004-09-06 09:16 |只看该作者

c语言的尴尬:取常量地址

咋胡说了?

论坛徽章:
0
33 [报告]
发表于 2004-09-06 09:50 |只看该作者

c语言的尴尬:取常量地址

这题目根本不是 C 语言的尴尬,而是你的尴尬。
literal 本来就没有地址的概念,譬如说,你写 i=i+1; 你问我 1 这个数字的地址是什么,可是编译器很可能使用 inc i 来实现这一句,哪里有地址?
多看看基本的东西,不要跳得太高。

论坛徽章:
0
34 [报告]
发表于 2004-09-06 10:36 |只看该作者

c语言的尴尬:取常量地址

对编译器来说,c++对常量的处理是不同的,如果你的常量在使用中没有取址等类似的操作,在优化的过程中,该常量的地址会被优化掉,而如果不是这样,编译器会为常量分配空间,这和你具体的用法相关,编译一般会比较聪明

论坛徽章:
0
35 [报告]
发表于 2004-09-12 16:52 |只看该作者

c语言的尴尬:取常量地址

看来你们的汇编都不是很合格阿:) (各位大牛别劈我,开个玩笑)

要是知道简单的数值是直接编译成机器代码的话,就没有这么多争论了。比如说a=5这条语句。最后汇编出来可能是:mov ax,5。

假设mov的机器代码是001,ax的机器码表示是002,那么翻译出来就是这样:001+010+101,机器码就是001010101。最后直接送到cpu流水线里面 go。(我记得mov的机器码表示有12种),限IA32平台

所以你怎么能找出5的地址?至于浮点数的具体操作我忘了。

论坛徽章:
0
36 [报告]
发表于 2004-09-12 17:09 |只看该作者

c语言的尴尬:取常量地址

原帖由 "ljttlf" 发表:
看来你们的汇编都不是很合格阿:) (各位大牛别劈我,开个玩笑)

要是知道简单的数值是直接编译成机器代码的话,就没有这么多争论了。比如说a=5这条语句。最后汇编出来可能是:mov ax,5。

假设m..........


哇,ljfflf 你好谦虚啊   .......你骂骂楼主也就完了,居然.... 前面人好多,比较担心你的安全。

论坛徽章:
0
37 [报告]
发表于 2004-09-12 17:12 |只看该作者

c语言的尴尬:取常量地址

我承认有时候汇编能把问题说得很清楚,但从概念上看,c 与汇编没有直接关系。c 里头的东西,应该在 c 的范围就能说清楚的。

ps>; 我在这里时间也比较长了,比较了解情况,前面的人懂汇编的可多了

论坛徽章:
0
38 [报告]
发表于 2004-09-12 17:22 |只看该作者

c语言的尴尬:取常量地址

敢问一句,ljttlf兄是不是轻描淡写论坛里的ljtt??如果不是的话,算我认错人了    

论坛徽章:
0
39 [报告]
发表于 2004-09-12 17:24 |只看该作者

c语言的尴尬:取常量地址

别,我可没有骂呀,我不是在后面说>;>;(各位大牛别劈我,开个玩笑),这不是说明我承认你们是“大牛”吗?
呵呵,我才来cu,当然比不上你们这些元老人物,以后多多照顾小弟哟。

另外>;>;但从概念上看,c 与汇编没有直接关系
怎么说呢?c语言是最符合现在使用的计算机体系结构的语言,从最初的c语言实现可以看出来,c代码都是首先翻译成汇编的阿,然后再用as,ld。

论坛徽章:
0
40 [报告]
发表于 2004-09-12 17:26 |只看该作者

c语言的尴尬:取常量地址

不是,我没有上过那个论坛,不管怎么说,我比它多两个字

ps : lf == love forever

呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP