基本上我想在Ubuntu(Linux环境)的Eclipse(并行应用程序开发)IDE中使用C和FORTRAN编写混合编程语言。
我的主程序将在C中,并且调用函数将在FORTRAN中。现在我该如何将这个FORTRAN源程序链接到C项目?
我能够从终端(linux)编写和编译相同的(混合编程),没有任何问题。
答案 0 :(得分:1)
首先确保安装了适当的编译器;通常是默认的GNU编译器集合(但这与英特尔的编译器一样)。确保安装了C(gcc)和Fortran(gfortran)编译器。在NetBeans中,确保编译器已被识别。转到工具 - >选项,然后选择C / C ++选项卡。应该在那里列出C,C ++和Fortran编译器。如果不是,请单击“恢复默认值”按钮,它应该找到它们。
接下来,制作一个新的C / C ++项目(File - > New Project),选择“C / C ++ Application”。点击下一步”。填写项目名称,位置,文件夹等的信息。选中“创建主文件”框,确保从右侧的下拉菜单中选择“C”。点击“完成”。
此时你应该有一个编译的“Hello World”C代码。检查一下:运行 - >清理和建造项目。然后运行它。
要添加Fortran(或其他C / C ++)源文件,请右键单击左侧“项目”窗口中的“源文件”,然后单击“新建”并选择相应的文件类型(Fortran,对于此示例) )。给它一个文件名,然后选择它是F还是F90(或任何其他选项)类型文件。这将自动将其添加到构建和链接。您还可以通过选择“添加现有项目...”选项来添加现有文件。
链接时,您可能需要包含一些标准的Fortran库。为此,请右键单击项目名称,然后选择“属性”。在左侧菜单上,单击“链接器”。根据需要添加其他库目录(第2行),在第2行到最后一行,您可以添加特定库 - 添加Fortran文件所需的任何Fortran库(IO是一个常见库)。
此时,您应该能够毫无困难地编译混合源代码。如果要从C调用Fortran子例程,请确保您有一个合适的头文件(可以通过右键单击“头文件”并选择“新建” - >>“C头文件”来添加) Fortran文件中任何子例程的extern "C" void functionname(arguments)
。