Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Eclipse中编写和编译混合编程语言(C和FORTRAN)_Eclipse_Fortran_Fortran Iso C Binding - Fatal编程技术网

如何在Eclipse中编写和编译混合编程语言(C和FORTRAN)

如何在Eclipse中编写和编译混合编程语言(C和FORTRAN),eclipse,fortran,fortran-iso-c-binding,Eclipse,Fortran,Fortran Iso C Binding,基本上,我想在UbuntuLinux环境中的EclipseParallel应用程序开发IDE中使用C和FORTRAN编写一种混合编程语言 我的主程序用C语言编写,调用函数用FORTRAN语言编写。现在,我应该如何将这个FORTRAN源程序链接到C项目 我能够从terminallinux编写和编译相同的混合编程,没有任何问题 首先确保安装了适当的编译器;通常是默认的GNU编译器集合,但这也适用于英特尔的编译器。确保同时安装了C gcc和Fortran gfortran编译器。在中,确保编译器被识别

基本上,我想在UbuntuLinux环境中的EclipseParallel应用程序开发IDE中使用C和FORTRAN编写一种混合编程语言

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


我能够从terminallinux编写和编译相同的混合编程,没有任何问题

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

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

此时,您应该有一个可编译的Hello World C代码。选中此选项:运行->清理并生成项目。然后运行它

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

链接时可能需要包含一些标准Fortran库。要执行此操作,请在项目名称上单击鼠标右键,然后选择“属性”。在左侧的菜单上,单击链接器。根据需要在第2行添加其他库目录,在第2行到最后一行,您可以添加特定的库-添加任何Fortran库IO是Fortran文件所需的常见库


此时,您应该能够毫不费力地编译混合源代码。如果您想从C调用Fortran子例程,请确保您有一个合适的头文件,可以通过右键单击头文件并选择New->C头文件来添加该头文件,该头文件包含Fortran文件中任何子例程的extern C void functionnamearguments。

我在Eclipse中几乎没有成功;“我在使用NetBeans时运气好得多。@EliLansey Hi!您是如何将/link fortran源代码添加到c源代码中的?虽然您的问题是针对Eclipse的,但我将很快为NetBeans写一个答案。您是运行Windows还是Linux?@EliLansey LinuxUbuntu12.04 LTS。请注意,这在Fedora和Windows上可以使用MinGW编译器。