可能 MS/Intel Fortran 模块与 GNU Fortran?
Possible MS/Intel Fortran modules with GNU Fortran?
我的任务是调整一些最初使用 Compaq Visual Fortran 编译的 20 年前的代码。我希望使用 GNU 的 gfortran 而不是昂贵的 Intel Visual Fortran。但是,该代码依赖于几个似乎仅适用于 IVF 的模块:
- mfslib
- dflogm(我相信这是 QuickWin 的一部分?)
- msimsl
如果我能够获得这些模块的副本,我是否能够将它们与 gfortran 而不是 Intel 一起使用? (顺便说一句,我是一个完整的 Fortran 初学者。)
我能找到的最接近的问题是:
Intel Fortran to GNU Fortran Conversion
...但是这个问题似乎更多是关于 makefile 和重写 OP 自己的代码,而不是专门关于在另一个编译器中使用来自一个编译器的模块。
在此先感谢您的帮助。
正如评论所说,答案是否定的
如果您想将使用 Compaq Visual Fortran 扩展的程序移植到 gfortran,您需要用标准 Fortran 指令替换它们或使用其他库(独立于任何编译器)。
Fortran 是一种规范化语言(最新标准是 Fortran 2003、2008、2018):如果你坚持标准,你将没有问题(或很少有问题)使用其他编译器构建你的项目。如果不这样做,您将失去优势...
这不是答案 - 太长了,无法发表评论。使用 quickwin,查看损坏情况的最简单方法是删除以下内容之一
USE DFLIB
USE IFQWIN
然后看看从木制品中掉下来的东西。你可能有
- 绝对没有 - 这意味着它是一个控制台应用程序。他们使用 quickwin 的目的只是一个可滚动的输出
- SETWINDOWCONFIG、GETWINDOWCONFIG、SETWSIZEQQ、GETWSIZEQQ。这也是一个控制台应用程序。他们所做的只是相对于 window 大小更改可滚动区域。
- GETCHARQQ、FOCUSQQ - 这些通常是交互式对话框
- APPENDMENUQQ - 他们修改了下拉菜单以添加额外的功能。
- ARC、LINETO、OUTGTEXT - 这是一个图形程序。您需要将它们转换为 dislin 或 pgplot 之类的东西或一些图形库。
我必须转换的大多数 quickwin 程序要么是 1,要么是 2。我只遇到过一次 5。当 IVF 被称为 PowerFortran 时,我用 3 和 4 和 5 写了一个。
我的任务是调整一些最初使用 Compaq Visual Fortran 编译的 20 年前的代码。我希望使用 GNU 的 gfortran 而不是昂贵的 Intel Visual Fortran。但是,该代码依赖于几个似乎仅适用于 IVF 的模块:
- mfslib
- dflogm(我相信这是 QuickWin 的一部分?)
- msimsl
如果我能够获得这些模块的副本,我是否能够将它们与 gfortran 而不是 Intel 一起使用? (顺便说一句,我是一个完整的 Fortran 初学者。)
我能找到的最接近的问题是: Intel Fortran to GNU Fortran Conversion
...但是这个问题似乎更多是关于 makefile 和重写 OP 自己的代码,而不是专门关于在另一个编译器中使用来自一个编译器的模块。
在此先感谢您的帮助。
正如评论所说,答案是否定的
如果您想将使用 Compaq Visual Fortran 扩展的程序移植到 gfortran,您需要用标准 Fortran 指令替换它们或使用其他库(独立于任何编译器)。
Fortran 是一种规范化语言(最新标准是 Fortran 2003、2008、2018):如果你坚持标准,你将没有问题(或很少有问题)使用其他编译器构建你的项目。如果不这样做,您将失去优势...
这不是答案 - 太长了,无法发表评论。使用 quickwin,查看损坏情况的最简单方法是删除以下内容之一
USE DFLIB
USE IFQWIN
然后看看从木制品中掉下来的东西。你可能有
- 绝对没有 - 这意味着它是一个控制台应用程序。他们使用 quickwin 的目的只是一个可滚动的输出
- SETWINDOWCONFIG、GETWINDOWCONFIG、SETWSIZEQQ、GETWSIZEQQ。这也是一个控制台应用程序。他们所做的只是相对于 window 大小更改可滚动区域。
- GETCHARQQ、FOCUSQQ - 这些通常是交互式对话框
- APPENDMENUQQ - 他们修改了下拉菜单以添加额外的功能。
- ARC、LINETO、OUTGTEXT - 这是一个图形程序。您需要将它们转换为 dislin 或 pgplot 之类的东西或一些图形库。
我必须转换的大多数 quickwin 程序要么是 1,要么是 2。我只遇到过一次 5。当 IVF 被称为 PowerFortran 时,我用 3 和 4 和 5 写了一个。