免费注册 查看新帖 |

Chinaunix

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

C深度剖析 [复制链接]

论坛徽章:
0
231 [报告]
发表于 2012-06-21 19:34 |只看该作者
本帖最后由 hbmhalley 于 2012-06-21 19:46 编辑
kzl0629 发表于 2012-06-21 18:34
回复 221# hbmhalley
    错,建议你读懂标准再来
   标准的意思让变量存取的速度更快,没说非得放寄存器里,只是实现时放到寄存器里最快,所以这么干了,首先这么干是对的,然后再次基础上加些利于这么实现的限制,无可厚非也不能说他不符合标准吧,到目前为止你都是逻辑混乱的

“限制哪些register变量放在register里是implementation-defined的”  简直是逻辑混乱


艹真是服了你了,xxxx 天下无敌。

“限制哪些register变量放在register里是implementation-defined的”  简直是逻辑混乱

我tm这句是在帮你说你看不出来么?抓着个错就跟救命稻草似的。
你居然也知道“register变量必须放在register里”是错的,你回去看看作者说“register 变量必须是 能被CPU 寄存器所接受的类型”是不是“必须放在register里”这个意思?
“限制哪些register变量放在register里是implementation-defined的”我就问你你是怎么把这句理解成“非得放寄存器里”的。我逻辑混乱,你牛b,逻辑真清晰
ps: 以上三句就当你误会好了。你要觉得你没误会也别管了,抓这些鸡毛蒜皮不放真没意思,看下面

pm说在“register 变量必须是 能被CPU 寄存器所接受的类型”这一问题上作者有误,你说pm的“编译器是非标准的”有问题,论据是:这么做的编译器使用了“implementation-defined”的权利,而非违背标准。
kzl0629 发表于 2012-06-21 16:04
回复 139# hbmhalley
“这是实现定义的,编译器这么做不违反标准"
    我这是这个意思


可是你说的使用这一权利的行为完全是另外一会事,拿毫不相关的事实作为自己的论据。
现在来看看到底是谁逻辑混乱:
你在不断重复:对register变量的优化程度是由实现定义的。
标准的意思让变量存取的速度更快,没说非得放寄存器里,只是实现时放到寄存器里最快,所以这么干了,首先这么干是对的,然后再次基础上加些利于这么实现的限制,无可厚非也不能说他不符合标准吧

对,这是由实现定义的。但pm说的违背标准的行为是怎么优化的问题么?
你回去看看,作者说的是优化程度的问题么?
作者说:不能被CPU 寄存器所接受的类型是不能定义成 register 变量的!
你自己说这对不对?

论坛徽章:
0
232 [报告]
发表于 2012-06-21 19:45 |只看该作者
回复 247# hbmhalley


    作者是说错了,这我从来没反对过,踏错不错无所谓,但是pm同样说错了

  
   现在我反驳讲一下pm那句话的意思:
   pm的限制是指:“register 变量必须是固定的几个类型”

即使编译限制了“register 变量必须是 能被CPU 寄存器所接受的类型”你也不能说他是不符合标准的,以为它加快一些类型的数据的存取速度,它达到了标准所要求的功能

论坛徽章:
0
233 [报告]
发表于 2012-06-21 19:47 |只看该作者
回复 246# 幻の上帝


            作者是说错了,这我从来没反对过,踏错不错无所谓,但是pm同样说错了

  
   现在我反驳讲一下pm那句话的意思:
   pm的限制是指:“register 变量必须是固定的几个类型”

即使编译限制了“register 变量必须是 能被CPU 寄存器所接受的类型”你也不能说他是不符合标准的,以为它加快一些类型的数据的存取速度,它达到了标准所要求的功能

我这么回答这个问题你同意不,然后我在回答别的问题

论坛徽章:
0
234 [报告]
发表于 2012-06-21 19:53 |只看该作者
本帖最后由 hbmhalley 于 2012-06-21 19:53 编辑
kzl0629 发表于 2012-06-21 19:45
回复 247# hbmhalley
作者是说错了,这我从来没反对过,踏错不错无所谓,但是pm同样说错了

  
   现在我反驳讲一下pm那句话的意思:
   pm的限制是指:“register 变量必须是固定的几个类型”

即使编译限制了“register 变量必须是 能被CPU 寄存器所接受的类型”你也不能说他是不符合标准的,以为它加快一些类型的数据的存取速度,它达到了标准所要求的功能

你终于肯正儿八经说几句人话了
我也认真回你:
pmerofc 发表于 2012-06-20 19:12

register 变量必须是 能被CPU 寄存器所接受的类型。


C标准根本没有这种限制
如果编译器限制
说明编译器是非标准的

限制register可以修饰哪些变量就是不合标准的。标准从没给过你限制register可以修饰哪些类型变量的权利。
在这一问题上,你贴过的那段标准是驴唇不对马嘴的:
declaration of an identifier for an object with storage-class specifier register suggests that access to the object be as fast as possible. The extent to which such suggestions are effective is implementation-defined.

之后你也一直拿这段作为你的论据,但这段是在说:怎么对待register变量是implementation-defined,和哪些变量可以被register修饰没有关系。

论坛徽章:
0
235 [报告]
发表于 2012-06-21 20:02 |只看该作者
回复 249# kzl0629


pm的限制是指:“register 变量必须是固定的几个类型”


这是pm在哪说的?没看见你说他错的5L有关。

你还是没说清楚限制是什么。
我不止一次说过,如果这个限制理解为“编译错误”,那么编译器就是不符合标准的。pm如果也是这么理解“限制”的,那这么说就没错。
而你说的“限制”和这个没关系。你说的implementation-defined实质是指,编译器有权决定是否无视register生成把对象放到寄存器中的目标代码。编译器是不是对特定类型产生编译错误,跟这个完全两回事。
其它意见同250L。

论坛徽章:
0
236 [报告]
发表于 2012-06-21 20:11 |只看该作者
回复 250# hbmhalley


    extent 没说是速度上的,还是范围上的,你是的理解是所有变量速度都加快,但是我理解一定范围内的类型变量速度加快

论坛徽章:
0
237 [报告]
发表于 2012-06-21 20:11 |只看该作者
回复 251# 幻の上帝


        extent 没说是速度上的,还是范围上的,你是的理解是所有变量速度都加快,但是我理解一定范围内的类型变量速度加快

      先把这个问题搞清楚比较重要

论坛徽章:
0
238 [报告]
发表于 2012-06-21 20:40 |只看该作者
本帖最后由 hbmhalley 于 2012-06-21 20:53 编辑
kzl0629 发表于 2012-06-21 20:11
回复 250# hbmhalley
extent 没说是速度上的,还是范围上的,你是的理解是所有变量速度都加快,但是我理解一定范围内的类型变量速度加快

不好意思,看错了
declaration of an identifier for an object with storage-class specifier register
suggests that access to the object be as fast as possible. The extent to which such
suggestions are effective is implementation-defined.

既然如此,那就是英语问题了
The extent to which such suggestions are effective ...

建议(suggests that access to the object be as fast as possible,尽量加快对object的访问)对哪些变量有效...”非要扣那个“extent”的话是指“有效的程度(..such suggestions are effective to)”,其实就是对哪些变量有效
与能否定义无关。“effective"

论坛徽章:
0
239 [报告]
发表于 2012-06-21 20:41 |只看该作者
回复 254# hbmhalley


    extent 指的就是程度,在这种情况下应该指范围和速度,不加快也没人管,但是我不加某些类型就有人管了???

论坛徽章:
59
2015年亚洲杯之约旦
日期:2015-01-27 21:27:392015年亚洲杯之日本
日期:2015-02-06 22:09:41拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015元宵节徽章
日期:2015-03-06 15:50:392015年亚洲杯之阿联酋
日期:2015-03-19 17:39:302015年亚洲杯之中国
日期:2015-03-23 18:52:23巳蛇
日期:2014-12-14 22:44:03双子座
日期:2014-12-10 21:39:16处女座
日期:2014-12-02 08:03:17天蝎座
日期:2014-07-21 19:08:47
240 [报告]
发表于 2012-06-21 20:44 |只看该作者
@g050649@幻の上帝@kzl0629@hbmhalley
what you said are right.
i agree with everyone above.




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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP