Fortran代码在visual studio中运行良好,但从可执行文件运行时会产生不同的结果

时间:2016-06-23 15:01:01

标签: visual-studio-2013 fortran visual-studio-debugging fortran90

我在Visual Studio 2013环境中使用英特尔Fortran编译器15.0。我是那些软件的新手,我不是程序员,只是一个使用fortran进行计算的工程师,因此,请尝试用“简单”语言回复。

问题在于:我处于调试模式,只需按“启动调试”即可在visual studio中编译和执行程序。一切顺利,我得到了我的期望,但代码运行缓慢。现在,如果我转到文件夹。\ x64 \ Debug并从可执行文件运行程序,它会给出不同的结果(并且由于不切实际的结果而在某些点停止)。怎么了?我不知道如何解决它。为什么它在Visual Studio中工作正常并且如果从可执行文件运行崩溃?在发布模式下创建的可执行文件会出现同样的问题。

任何帮助将不胜感激, 非常感谢, 安东尼奥

解决方案:我发现问题出在逻辑变量的分配和初始化上。首先,我刚刚分配了变量,我可以看到它的值是.TRUE。分配后,在调试期间。不幸的是,如果直接从VS外部的可执行文件或VS内部运行,则分配似乎有所不同。将“_NO_DEBUG_HEAP = 1”添加到环境会导致程序的行为在VS内部和外部相同,因此我可以调试代码,我注意到在分配后值为.FALSE ..问题解决了插入一个在allocate()命令之后的行,它始终将逻辑变量初始化为.TRUE ..现在我在VS内部和外部得到相同的结果。这篇文章帮助了很多Differences between running an executable with Visual Studio debugger vs without debugger

谢谢, 安东尼奥

0 个答案:

没有答案