【发布时间】:2014-12-14 12:36:57
【问题描述】:
如何将外部子程序链接到 Fortran 中的主程序? 虽然,我从题为《Fortran 90 for science and Engineers》的书中得到了答案 如下:
还要注意,由于外部子程序位于单独的 来自主程序的文件,必须单独编译。在下面 FTN90 一种中间类型的机器码,称为可重定位二进制 在扩展名为 .OBJ 的文件中生成。这反过来必须是 通过称为 a 的特殊程序与调用程序链接 链接器,最终生成主程序的 .EXE 版本。您的 编译器手册将详细说明如何执行此操作。一旦是 最后调试,外部子程序永远不需要重新编译, 只链接。这可以防止您浪费时间编译它 和以上,如果它是一个内部子程序就是这种情况。
无论如何,我没有找到任何关于如何链接主程序和子程序的手册。我使用 Silverfrost (Plato) 来调试和运行程序。另外,我在系统上安装了“Intel Parallel Studio XE 2011”。
【问题讨论】:
-
您是否尝试对所有文件调用编译器?
compilername file1.obj file2.obj? -
其实我不知道怎么调用 . obj 文件@VladimirF,但现在我找到了一种方法。现在,我使用英特尔并行工作室同时运行程序和子例程。他们工作了。但是,我认为我找到的方式似乎不是标准和通用的方式。我猜英特尔并行工作室将它们联系起来。是真是假?
-
你是怎么做到的?请注意,Studio(只是您看到的窗口)和实际编译器之间存在差异。
-
过程如下: 1- 打开 Microsoft Visual Studio 2- 文件> 新建项目 > FTN95 应用程序 3- 在解决方案资源管理器上有两个文件夹,包括:包含文件和源文件 4- 我写了Source Folder下的主程序和Includes Folder 5下的子程序-写完后开始调试
-
我建议您从命令行工具开始,当您了解正在发生的事情时转移到 IDE。只是我的 2 美分。
标签: linker fortran object-files