我在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
谢谢, 安东尼奥