我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:刘伯温论坛 > 分别编译 >

请问:同一个Fortran77程序在CVF65和IVF2013中分别编译得到的结

归档日期:07-04       文本归类:分别编译      文章编辑:爱尚语录

  请问:同一个Fortran77程序在CVF6.5和IVF2013中分别编译得到的结果不一样,这是什么原因?

  请问:同一个Fortran77程序在CVF6.5和IVF2013中分别编译得到的结果不一样,这是什么原因?

  没有随机数,编译没报错,所用函数都是最常用的sin,cos之类,CVF6.5的计算结果最接近线。...

  没有随机数,编译没报错,所用函数都是最常用的sin,cos之类,CVF6.5的计算结果最接近线。

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  任何语法都不可能细化到每一个细节,所以,必然有语法不规定的内容,此时,不同编译器就会有不同的选择方式。

  例如,未初始化变量的值是多少?浮点数做为循环变量,循环终止条件的浮点数相等判断,等等这些问题。

  为了避免这些问题,要求程序员尽量严谨的按照语法和四维逻辑,去书写代码。然而,实际上,完全严格遵循语法的代码是很少见的,尤其是较长的代码,或多或少都有不规范的地方,都有隐含的“错误”在里面。

  绝大多数较长的代码,都无法保证在不同的编译器上都能得到相同的结果。更换编译器后,或多或少都需要进行修改。这在编程工作中是很平常的事情。

  如上所说,尽量严谨的代码书写习惯,可以尽量的避免这种编译器间的代码不兼容。

  针对你的情况,我建议你检查代码中是否定义了全部变量?并给定了每个变量特定的类型和精度?是否每个变量在使用前都进行了赋值?(尤其是函数或子程序内的局部变量)

  我的F77代码在IVF上是有些兼容问题,初步解决(不报错)之后又在两个编译器里面编译了下才发现不一样的,程序是一个反复迭代调参的程序。追答不,IVF 是完全兼容 F77 的。

本文链接:http://saltstudios.net/fenbiebianyi/580.html