免费注册 查看新帖 |

Chinaunix

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

C深度剖析 [复制链接]

论坛徽章:
0
491 [报告]
发表于 2012-06-23 12:06 |只看该作者
回复 515# hbmhalley


    第一点,我没说过报message的权利包含报错的权利,是你自己YY的,我哪里说过了你贴出来(一定要贴出来啊,要不然会被别人认为你只会YY的),我一直说的diagnostic 有报错的权利,贴不出来就别自己YY的来乱喷别人,

  第二点,
2 EXAMPLE An implementation shall issue a diagnostic for the translation unit:
char i;
int i;

shall issue a diagnostic 例子都可以报错你说不可以???? 你怎么解释这个例子吧

论坛徽章:
0
492 [报告]
发表于 2012-06-23 12:14 |只看该作者
kzl0629 发表于 2012-06-23 12:06
回复 515# hbmhalley
    (1) 第一点,我没说过报message的权利包含报错的权利,是你自己YY的,我哪里说过了你贴出来(一定要贴出来啊,要不然会被别人认为你只会YY的),我一直说的diagnostic 有报错的权利,贴不出来就别自己YY的来乱喷别人,

  第二点,
2 EXAMPLE An implementation shall issue a diagnostic for the translation unit:
char i;
int i;

shall issue a diagnostic 例子都可以报错你说不可以???? 你怎么解释这个例子吧

(1) 我那不是让你答是/否了么?不是还让你解释了么?我只是说出我所理解的你的理解,你哪来那么多P话?什么“不懂就别瞎解释”?傻b么你?就会喷了?sb
(2)
你是真傻b么
这个明显违背了declaration里的规定,是语法(/语义)错误。这个可以报错,我有没否认。这个任何一个标准的编译器都应该报错。又怎么了?抓着这个不放你想说明啥?想说明int main(void) {register struct T{int a[1000];} v;} 也是语法错误?

论坛徽章:
0
493 [报告]
发表于 2012-06-23 12:28 |只看该作者
本帖最后由 hbmhalley 于 2012-06-23 12:33 编辑
kzl0629 发表于 2012-06-23 11:52
回复 512# hbmhalley
    我说的你看不懂???

   我没说diagnostic message 可以报编译错误,
   文章中说给出diagnostic message  ,但是没说只给出diagnostic message,明白这句话的意思???你别指抱着一个diagnostic message ,编译器不止产生一个diagnostic message

   至于问题2,我之前说过了,这个是由语法错误产生的diagnostic  ,语法错误产生的diagnostic   可以报编译出错,其他行为产生的diagnostic  就不许报了??? 是这样吗,回答是还是否???

  说你语文是个渣还屈你了??

终于tm扯到正题了。
不是!
不仅语法错误,标准给了编译器遇到undefined behavior时terminate translation的权利。
[qoute]
3.4.3
1 undefined behavior
   behavior, upon use of a nonportable or erroneous program construct or of erroneous data,  for which this International Standard imposes no requirements
2 NOTE Possible undefined behavior ranges from ignoring the situation completely with unpredictable  results, to behaving during translation or program execution in a documented manner characteristic of the  environment (with or without the issuance of a diagnostic message), to terminating a translation or execution (with the issuance of a diagnostic message).
3 EXAMPLE
An example of undefined behavior is the behavior on integer overflow.
[/quote]
再没有别的了 //add:也许有,但绝不在implementation-defined behavior里面
如果你忽略UB,那么:
难道你想说否?
然后呢?

论坛徽章:
0
494 [报告]
发表于 2012-06-23 12:33 |只看该作者
回复 517# hbmhalley


    语法错误产生diagnostic  ,diagnostic  产生编译错误,同意吗???

论坛徽章:
0
495 [报告]
发表于 2012-06-23 12:35 |只看该作者
本帖最后由 hbmhalley 于 2012-06-23 12:36 编辑
kzl0629 发表于 2012-06-23 12:33
回复 517# hbmhalley
语法错误产生diagnostic  ,diagnostic  产生编译错误,同意吗???

不同意!

语法错误导致编译终止(编译错误),同时放出diagnostic message。
所谓“diagnostic 产生编译错误”你是从哪看出来的?
翻译过来,错误同时产生诊断信息,如此明显的因果关系,所谓诊断信息产生错误这是什么逻辑?

论坛徽章:
0
496 [报告]
发表于 2012-06-23 12:35 |只看该作者
kzl0629 发表于 2012-06-23 12:33
回复 517# hbmhalley
语法错误产生diagnostic  ,diagnostic  产生编译错误,同意吗???

不同意!

语法错误导致编译终止(编译错误),同时放出diagnostic message。
所谓“diagnostic 产生编译错误”你是从哪看出来的?

论坛徽章:
0
497 [报告]
发表于 2012-06-23 12:35 |只看该作者
回复 518# hbmhalley


    我没说在implementation-defined behavior里,我说产生在diagnostic  里,只是你一直没理解诶我说的话

论坛徽章:
0
498 [报告]
发表于 2012-06-23 12:38 |只看该作者
kzl0629 发表于 2012-06-23 12:35
回复 518# hbmhalley
我没说在implementation-defined behavior里,我说产生在diagnostic  里,只是你一直没理解诶我说的话

别东躲西藏的,你不一直说这里的diagnostic是由implementation-defined behavior引发的么?
“产生在diagnostic里” 难道你一直把diagnostic当作符号理解?diagnostic就是诊断信息,诊断信息在诊断信息里是什么意思

论坛徽章:
0
499 [报告]
发表于 2012-06-23 12:39 |只看该作者
本帖最后由 hbmhalley 于 2012-06-23 12:42 编辑

回复 522# kzl0629


    编译错误可以放出诊断信息,多么明显的因果关系,你就生给掰成诊断信息导致编译错误,你要是死不承认这个逻辑问题我也没辙
语法错误产生diagnostic  ,diagnostic  产生编译错误,同意吗???

给你帖过来

论坛徽章:
0
500 [报告]
发表于 2012-06-23 12:46 |只看该作者
回复 524# hbmhalley


     你真会YY

     诊断,包括给你检查身体,以及公布检查身体的结果,

    诊断信息 ,公布检查身体的结果

   你把diagnostic 翻译成诊断信息了??? 也就是手你认为diagnostic 和diagnostic message 是一个意思???

   回答是还是不是?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP