问题标签 [intel-fortran]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
fortran - ifort 未被识别为内部或外部命令
我正在使用 Visual Studio 2010 使用 Intel Visual Fortran 在 Fortran 中编译代码,并且我继续收到此消息。安装完成没有错误,我认为我不需要额外的包或库。
fortran90 - 将整数转换为长双精度
我必须创建一个长的双随机发生器。我正在考虑一个线性同余生成器,因为我不需要高精度随机序列。但是如何将整数转换为长双精度型呢?
fortran - 编译具有多个部分的 Fortran 程序
我对 Fortran 和整个 Intel 编译器非常陌生(我正在使用基于 Windows 的 Intel 编译器和 IMSL 库,没有 Visual Studio 集成,因此只有命令行)。
问题应该非常简单:我有一个需要编译的 Fortran 程序,它存储为四个不同的源代码部分。主程序(和一些子程序)存放在名为central.for的代码文件中,另外还有三个文件,我们分别称它们为s1.for、s2.for和s3.for,每个文件只包含一个子程序(让称它们为 sub1-sub3) 并且没有主程序。主程序调用存储在 s1-s3 和 central.for 中的子程序。
问题是我应该如何编译它:
当我尝试编译 central.for 时,它给出了error LNK2019: unresolved external symbol _SUB1 referenced in function _MAIN__
. 同样,它为 SUB2 和 SUB3 提供相同的消息。
当我尝试编译 s1.for-s3.for 时,它给出了error LNK2019: unresolved external symbol _MAIN__ referenced in function _main
很明显,我需要以某种方式链接它们。但是,我不知道如何
fortran - 进度条在 gfortran 中时没有在 ifort 中连续写入
我在 Fortran 中编写了一个遗传算法,以便能够以长双精度计算通用适应度函数。第一个版本(双精度)是为 gfortran 编写的,我在其中实现了一个进度条。
现在我必须用 ifort 编译,因为 gfortran 无法执行real*16
计算。一切正常,但在这种情况下(ifort)进度条无法正常工作。也就是说,只有当整个循环完成时,进度条才会打印到标准输出。
这是进度条的一段代码:
我使用 64 位的 Intel Xeon,ifort 的选项是:
而当使用 gfortran 时,我以这种方式编译:
在 gfortran (但双精度)中一切正常。
windows - forrt1:严重(170):程序异常 - 堆栈溢出
并提前感谢您的帮助!
我已经编译了一个程序(我没有编写),它在 Mac 上运行良好,但是当我尝试在 Windows 上执行该程序时,我在程序开始执行后不久收到以下错误消息:
forrt1:严重(170):程序异常 - 堆栈溢出
我不是 ifort 或 Fortran 用户,而是试图编译一个工作程序。
我做了一个“ifort --version”,我正在使用带有版本 12.0.0.104 的 Intel Visual Fortran Compiler XE。我已经解决这个问题几天了,我尝试弄乱 Makefile 中的一些标志,但没有运气。
如果我能提供任何进一步的信息,我会尽力做到最好。再次感谢!
debugging - 各种编译器调试标志之间有什么区别?
我找到了 ifort 调试标志列表。但是,我对调试标志的一些解释感到困惑。如前所述,-debug 可以配置为 all、full、minimal 和 none。请问“-debug all”和“debug full”有什么区别?哪一个包含更多的调试信息?
当我使用 idb GUI 调试 fortran 可执行文件时,我只能在某行设置断点,而不是全部。我想知道这是否是由于调试信息的级别,所以只有源代码中的一些行与目标文件中的行号表相关联。如果是这样,我如何将源文件中的每一行与我的对象文件相关联?
linker - 与 ifort 和 .so 库的正确链接顺序
我有两个第 3 方库 A.so 和 B.so,我将与我的可执行文件 executable.exe 链接在一起。A.so 包含一个由 B.so 解决的错误,也就是说:
A::subroutine1()
调用时可能会因浮点异常而崩溃(FP 算术错误)B::subroutine1()
是一个固定的实现,应该总是被调用而不是A::subroutine1()
.
A 和 B 的正确链接顺序是什么?我现在正在做的是:
我仍然不时收到浮点异常(该错误无法准确重现,因此很难调试)。但是,当它崩溃时,程序让我知道 A::subroutine1() 是违规者 - 因此 subroutine1() 的错误版本由于某种原因被链接。
我将把链接顺序作为第一次插入,但是有没有一个工具可以用来检查executable.exe,看看在运行时会调用哪个版本的subroutine1()?
谢谢!
fortran - FORTRAN 错误 #6404:此名称没有类型,并且必须具有显式类型
我是 FORTRAN 的新手,遇到此错误 #6404。
这与 ifort 编译器有关,我希望它不是编译器错误。
有什么想法我错了吗?
eclipse - 英特尔 fortran 编译器的任何 Eclipse 插件?
我最近在 Linux 上安装了 Intel FORTRAN 编译器 11。在它的安装路径上,有一个名为 eclipse plugins 的文件夹。查看英特尔网站,我找不到该插件的任何主页。我想知道是否有人已经为 Eclipse 安装了 Intel Fortran 11 插件。如果是,应该如何安装?我也看过这个帖子。这是关于 idb 而不是编译器。
linker - 与 HDF5 for fortran 链接时符号名称中的 @ 问题
我在使用 Intel Fortran 11.1 将 HDF5 库与 Visual Studio 2010 中的解决方案链接时遇到问题。
具体的错误信息是:
这个符号应该在 hdf5_fortran.lib 库中,检查 hdf5_fortran.lib 文件中的符号,我发现它确实包含该符号
其他相关信息:我通过检查命令行语句检查了链接器是否正确包含 hdf5_fortran.lib 文件。此外,库文件名拼写错误会报告文件未找到错误。
由于几个历史原因,代码库是使用 /names:as-is 和 /assume:nounderscore 编译的。
现在,如果不是链接符号的专家,_H5F_mp_H5FOPEN_F@ 末尾的“装饰”@4 似乎与定义的符号 _H5F_mp_H5FOPEN_F 冲突,所以显而易见的问题是:我怎样才能摆脱符号中的这个 @4在我的代码中引用,或者还有其他方法可以解决这个问题吗?