24小时热门版块排行榜    

查看: 829  |  回复: 21
当前主题已经存档。

lvjian8596

木虫 (小有名气)

学习了!
11楼2009-06-18 18:07:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

magic7004

金虫 (职业作家)

难道说编译时和运行时都不检查数组边界?好强大啊
流氓不可怕,可怕的是流氓有文化,有文化又BH的流氓无敌~~!
12楼2009-06-19 08:58:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

maomao1210

金虫 (正式写手)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
wangen994(金币+1,VIP+0):你提出的意见很好,欢迎交流 6-19 12:22
引用回帖:
Originally posted by magic7004 at 2009-6-19 08:58:
难道说编译时和运行时都不检查数组边界?好强大啊

你看清楚点,而且你说话说清楚点,我们都是菜鸟,如果你更懂的话,请你说清楚点,我们共同学习。不要这个口气。
13楼2009-06-19 09:25:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

argo

铁杆木虫 (著名写手)

上善若水


wangen994(金币+1,VIP+0):谢谢交流 6-19 12:22
编译应该只检查语法有没有错误,不会检查数组的边界,我个人的理解。
居善地,心善渊,与善仁,言善信,正善治,事善能,动善时。
14楼2009-06-19 09:59:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

calf5983

铁虫 (小有名气)

子程序 又不分配空间,不检查边界吧
疯子有理
15楼2009-06-19 10:32:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

老虎大王

木虫 (著名写手)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
wangen994(金币+2,VIP+0):谢谢交流,欢迎常来啊,O(∩_∩)O哈哈~ 6-19 16:37
毛毛给的例子能编译通,与编译器是有很大关系的。我在Windows下用VF6.5可以编译通过,并可以顺利运行。但我在cygwin下用f77, g95(最近版本),以及gfortran(gcc 4.3.2,i686-pc-cygwin版本)都没有编通,均提示数组下标越界。在Linux下我还没有试过。但无论如何,这种方法肯定是利用了编译器的Bug或者漏洞。

当然,我还要说的是,毛毛在这里只是提供了一个例子,并没有建议大家这样编程。养成这样的编程习惯当然是不提倡,但是在技术上是可以探讨的。我以前从来没有试过这样做,我觉得毛毛还是很善于发现的,呵呵。
16楼2009-06-19 15:54:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

maomao1210

金虫 (正式写手)


小木虫(金币+0.5):给个红包,谢谢回帖交流
引用回帖:
Originally posted by 老虎大王 at 2009-6-19 15:54:
毛毛给的例子能编译通,与编译器是有很大关系的。我在Windows下用VF6.5可以编译通过,并可以顺利运行。但我在cygwin下用f77, g95(最近版本),以及gfortran(gcc 4.3.2,i686-pc-cygwin版本)都没有编通,均提示数组 ...

,嘿嘿,非常感谢老虎大王给我澄清呀,我就是这个意思。
而且我也说了,这个和编译器有关系,而且我也说了,这样写不好,太感谢了,老虎大王。
17楼2009-06-19 18:49:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
wangen994(金币+2,VIP+0):谢谢交流 6-21 08:25
引用回帖:
Originally posted by 老虎大王 at 2009-6-19 15:54:
毛毛给的例子能编译通,与编译器是有很大关系的。我在Windows下用VF6.5可以编译通过,并可以顺利运行。但我在cygwin下用f77, g95(最近版本),以及gfortran(gcc 4.3.2,i686-pc-cygwin版本)都没有编通,均提示数组 ...

你用 gfortran 编译时,是不是开了什么选项,我这里 gfortran 4.4.0 可以通过的。gfortran 有一个选项 -fbounds-check 是检查边界的,嗯……
18楼2009-06-20 15:21:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

★ ★
wangen994(金币+2,VIP+0):谢谢交流 6-21 08:26
引用回帖:
Originally posted by magic7004 at 2009-6-19 08:58:
难道说编译时和运行时都不检查数组边界?好强大啊

fortran 其实是一门很严格的语言,所以一般情况下需要编程人的自我严格要求,因此,编译时默认是不检查数组边界的,运行时也不检查,因此,有时会出很多稀奇古怪的错误,但这些错误是可以避免的,只要有良好的编程习惯
19楼2009-06-20 15:23:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

argo

铁杆木虫 (著名写手)

上善若水

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
wangen994(金币+1,VIP+0):谢谢交流 6-21 08:26
同意楼上观点。编程习惯很重要,个人有此感受。

[ Last edited by argo on 2009-6-21 at 09:11 ]
居善地,心善渊,与善仁,言善信,正善治,事善能,动善时。
20楼2009-06-20 16:07:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 calf5983 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见