Fortran Coder

查看: 10851|回复: 8
打印 上一主题 下一主题

[编译器] cvf 和 ivf 编译的结果不一样的原因

[复制链接]

55

帖子

17

主题

0

精华

熟手

F 币
261 元
贡献
169 点
跳转到指定楼层
楼主
发表于 2014-10-15 11:08:55 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
同一个程序用cvf编译正常,用ivf编译就离谱了,求原因啊?
两个编译好的程序,第一个是ivf编的
第二个是cvf编的

QQ截图20141015111047.jpg (138.51 KB, 下载次数: 368)

QQ截图20141015111047.jpg
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

737

帖子

4

主题

0

精华

大师

农村外出务工人员

F 币
705 元
贡献
361 点

新人勋章爱心勋章水王勋章元老勋章热心勋章

沙发
发表于 2014-10-15 11:31:53 | 只看该作者
我猜可能是某些变量没有初始化的原因。

IVF 可以开启未初始化变量检查。开启命令行开关 /check:uninit

55

帖子

17

主题

0

精华

熟手

F 币
261 元
贡献
169 点
板凳
 楼主| 发表于 2014-10-15 11:35:45 | 只看该作者
楚香饭 发表于 2014-10-15 11:31
我猜可能是某些变量没有初始化的原因。

IVF 可以开启未初始化变量检查。开启命令行开关 /check:uninit ...

开启命令行开关 /check:uninit
是不是在程序里面加上这句话,加哪呢?

737

帖子

4

主题

0

精华

大师

农村外出务工人员

F 币
705 元
贡献
361 点

新人勋章爱心勋章水王勋章元老勋章热心勋章

地板
发表于 2014-10-15 11:59:32 | 只看该作者
编译时加在编译命令后面。

如果你通过 IDE 集成环境运行,找找工程设置里的相关设置。

55

帖子

17

主题

0

精华

熟手

F 币
261 元
贡献
169 点
5#
 楼主| 发表于 2014-10-15 14:00:20 | 只看该作者
楚香饭 发表于 2014-10-15 11:59
编译时加在编译命令后面。

如果你通过 IDE 集成环境运行,找找工程设置里的相关设置。 ...

我是一个初学者,能不能说说编译命令是什么?不是点绿色三角就运行了么?

2033

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1641 元
贡献
709 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

6#
发表于 2014-10-15 14:14:56 | 只看该作者
OK,你先不用了解命令行。先用集成环境吧。

工程属性你知道吧?把下图中的位置改为 Yes,然后重新运行

PhoXo1.gif (12.2 KB, 下载次数: 396)

PhoXo1.gif

55

帖子

17

主题

0

精华

熟手

F 币
261 元
贡献
169 点
7#
 楼主| 发表于 2014-10-15 14:28:59 | 只看该作者
fcode 发表于 2014-10-15 14:14
OK,你先不用了解命令行。先用集成环境吧。

工程属性你知道吧?把下图中的位置改为 Yes,然后重新运行

按你说的修改了属性,出现了一个新问题,可是我已经定义这个变量了。

1.jpg (126.36 KB, 下载次数: 401)

1.jpg

2033

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1641 元
贡献
709 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

8#
发表于 2014-10-15 14:38:13 | 只看该作者
这就是告诉你这个变量没有初始化。

也就是说,这个变量没有赋值你就直接用了。这就导致 CVF 和 IVF 的结果不一样。因为未赋值的变量,其值是不确定的。

55

帖子

17

主题

0

精华

熟手

F 币
261 元
贡献
169 点
9#
 楼主| 发表于 2014-10-15 15:06:35 | 只看该作者
跪谢,果然如此
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-12-25 10:48

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表