弱弱地问一下,有谁经历过这种FORTRAN的怪问题?俺觉得自己很杯具
很多年前传下来的用COMPAQ FORTRAN 6.5写的DLL,俺用DELPHI开发了个GUI调用里面的函数.以前写的GUI调用此函数时没什么问题,所以一直没有去查看过FORTRAN的源程序.最近写了个新版本GUI,文件名是GUI2011.1.EXE,调用这个DLL的部分没有过变动,但是居然出错了!
进入DEBUG那个DLL的源程序时,才发现其实出错也没有什么,是一个除零的问题.但是,神奇的现象出现了:如果我把GUI的EXE文件改名成GUI2011.EXE,走到这个除零的地方时,居然直接跳转到下一语句而不出错!
这个问题很杯具,因为俺已经莫名其妙地晕了.请各位达人指点一二,为什么会有这种事发生?
[解决办法]
这个,你试试看这两个名字
GUI2011.A1.EXE
1.exe
fortran文件好像不能是数字开头的呢
忘了,全都忘光了。。。
[解决办法]
只是可以运行,并不是编译器进行编译得到的结果
[解决办法]
FORTRAN,在学校时大概自学过,当时连它的编译软件都没有。现在早忘光了。
感觉它只注重一些运算,对跟操作系统有关的事情很少关注。所以你说的文件名相对于它来说,就有点违反常规,不是它能理解的事情了。
[解决办法]
这个肯定与语言无关。只能是编译系统或者是系统运行的环境。
再者,新的编译系统里缺省的编译设置肯定和老版本的不同!
即使对于同一个编译系统,调试编译和优化编译的结果都不一样。
譬如SUM同一个循环里求和的次序等等。
所以最稳妥的办法是用源码在你用的系统里重新编译。
[解决办法]
那个FORTRAN 6.5写的DLL有没有后门?