24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2655  |  回复: 13
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

gxqlp

铁杆木虫 (正式写手)

[求助] fortran程序在SSH计算中心上运行的问题!

我用fortran编写的程序,有两个版本,差别只是一些中间量是否输出。在SSH计算中心上运行时,两个版本的计算结果居然有很明显的差别,而在自己的PC上计算,两个版本的结果一样。我懂得不多,SSH上的系统是unix,我的PC是windows系统,在编译时,我也进行了相关的转化。不知道是什么引起这个问题。难道真是变量的输出改变了其值?请高人指点!!!
回复此楼

» 猜你喜欢

理想很丰满,现实很骨感!努力。。。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

virtualzx

木虫 (著名写手)

【答案】应助回帖

★ ★
gxqlp: 金币+2, ★★★很有帮助, 给的建议很有用,谢谢 2013-11-01 21:03:14
引用回帖:
10楼: Originally posted by gxqlp at 2013-10-31 17:50:16
我试了一下,将出错的数组的维数改好,再计算时,没有write语句输出的版本(1)算出来的结果跟之前有输出语句的版本(2)结果一样。现在正在试着把版本2中的数组也修改后,看看会有什么差别。我有个疑问,就是我wr ...

数组越界后果是很难以预计的。这个数组之外的内存可能是任何变量或者代码或者其他东西,有可能你恰好写到一块没有用的内存,或者某个之后没有再使用的变量,就什么也不会发生,也可能直接segfault,更常见的是当时没事儿,但是过后很奇怪的地方会segfault。而且每次改代码或者改编译器或者改编译选项,内存的布局都不一样了,运行结果都可能会变
11楼2013-11-01 09:57:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 14 个回答

jerkwin

专家顾问 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
1. 编译选项不同
2. 程序有bug
2楼2013-10-19 08:02:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gxqlp

铁杆木虫 (正式写手)

在SSH上两个版本从编译到生成可执行文件,都用的一样的命令,两个版本唯一不一样的地方就是是否输出变量的问题。如果有其他的bug,那两个版本都有啊。我试了下,如果把输出变量的命令去掉,算出来的结果就与本身没有输出命令版本的结果一样。真是奇怪了。。。
理想很丰满,现实很骨感!努力。。。
3楼2013-10-19 08:08:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lin417

铁杆木虫 (著名写手)

微信:xglin86

【答案】应助回帖


感谢参与,应助指数 +1
gxqlp: 金币+1, 有帮助 2013-10-20 02:17:42
调试调试不就知道啦~~
不过极有可能是两个操作系统下的Fortran版本的编译器的不同导致的哈~~
生命本是场漂泊的远行,谁与你擦肩,你与谁偶遇,都是美丽的意外。珍惜能让你感动的人,铭记能让你哭泣的人,放下能让你淡漠的人,遗忘能让你无关的人。
4楼2013-10-19 10:47:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见