2

基本上,我想在 Ubuntu(Linux 环境)的 Eclipse(并行应用程序开发)IDE 中使用 C 和 FORTRAN 编写混合编程语言。

我的主程序将在 C 中,调用函数将在 FORTRAN 中。现在我应该如何将这个 FORTRAN 源程序链接到 C 项目?

我能够从终端(linux)编写和编译相同的(混合编程),没有任何问题。

4

1 回答 1

1

首先确保您安装了适当的编译器;通常是默认的 GNU 编译器集合(但这也适用于英特尔的编译器)。确保您同时安装了 C (gcc) 和 Fortran (gfortran) 编译器。在NetBeans中,确保编译器被识别。转到工具 --> 选项,然后选择 C/C++ 选项卡。C、C++ 和 Fortran 编译器应在此处列出。如果不是,请单击“恢复默认值”按钮,它应该会找到它们。

接下来,创建一个新的 C/C++ 项目(文件 --> 新建项目),选择“C/C++ 应用程序”。点击下一步”。填写项目名称、位置、文件夹等信息。选中“创建主文件”框,并确保从右侧的下拉菜单中选择“C”。单击“完成”。

此时,您应该有一个可以编译的“Hello World”C 代码。检查这个:运行 --> 清理并构建项目。然后运行它。

要添加 Fortran(或其他 C/C++)源文件,请右键单击左侧“项目”窗口中的“源文件”,然后单击“新建”并选择适当的文件类型(本例中为 Fortran)。给它一个文件名,然后选择它是 F 还是 F90(或任何其他选项)类型的文件。这将自动将其添加到构建和链接中。您还可以通过选择“添加现有项目...”选项来添加现有文件。

链接时可能需要包含一些标准的 Fortran 库。为此,请右键单击项目名称并选择“属性”。在左侧的菜单中,单击“链接器”。根据需要添加额外的库目录(第 2 行),在第 2 行到最后一行,您可以添加特定的库——添加 Fortran 文件所需的任何 Fortran 库(IO 是一种常见的库)。

至此,您应该可以毫无问题地编译混合源代码。如果您想从 C 调用 Fortran 子例程,请确保您有适当的头文件(您可以通过右键单击“头文件”并选择“新建”->“C 头文件”来添加),其中包含extern "C" void functionname(arguments)Fortran 文件中的任何子程序。

于 2013-02-06T14:51:24.513 回答