假如现在有两个Fortran程序1.f90和2.f90,其中1.f90是主程序,2.f90是在主程序中调用的子程序,将这两个程序传到Linux的一个目录下,使用fortran编译命令,如PGI的pgf90,Intel的ifort,命令如下:
pgf90 -o exe_name 1.f90 2.f90
ifort -o exe_name 1.f90 2.f90
方法二:
在主程序1.f90中加入include '2.f90'语句,然后在Linux下用fortran命令编译,命令如下:
pgf90 -o exe_name 1.f90
ifort -o exe_name 1.f90
so文件是动态库的集合,由f90文件编译而成,此时f90程序中一般不包含program开头的主程序,而只包含module,例如:
将f90源文件编译为动态库时,使用命令
此时将生成两个文件,分别为bisectmod.mod和lib***.so,这儿的***是刚才自定义的名字,而*.mod文件名则是f90文件中module的名字,是自动生成的,如果一个f90文件中包含N个module,则会生成N个*.mod和1个lib***.so。so文件作为库文件,也可以由多个f90文件共同编译得到,相当于静态库中的打包,将多个库打包到一个里,如下:
动态库的使用包含两部分,一是在编译时,二是在程序运行时。
编译包含动态库的主程序时,要同时制定mod文件的路径和so文件的路径,如果mod文件、so文件以及主程序文件在同一目录下,直接指定so文件即可:
但是当使用第三方库时,通常会分别存放在include和lib文件夹中,此时就要单独指定路径了:
第一个参数-I是大写的i,代表include,第二个l是小写的L,代表lib的名字,可以省略lib以及后面的.so,第三个-L则是lib.so文件的路径。
这样编译的结果不能运行,因为运行时程序找不到lib***.so文件,最好的办法是指定LD_LIBRARY_PATH环境变量,当然也可以将lib***.so文件复制到系统的lib文件夹中。
在linux下运行fortran程序的具体 *** 作步骤如下:
1、首先,切换到XAMPP安装目录。键入cd / opt / lampp,然后按Enter键,如下图所示,然后进入下一步。
2、其次,完成上述步骤后,输入“open”命令。 然后 键入sudo ./manager-linux-x64.run并按Enter键,如下图所示,然后进入下一步。
3、接着,完成上述步骤后,出现提示时,输入用于登录计算机的密码,然后按Enter键,如下图所示,然后进入下一步。
4、然后,完成上述步骤后,单击“manage servers”选项卡。如下图所示,然后进入下一步。
5、随后,完成上述步骤后,点击下方的【start all】按钮。 这样就可以启动XAMPP的所有有效组件了,如下图所示,然后进入下一步。
6、最后,完成上述步骤后,打开计算机的localhost页面就可以了,如下图所示。这样,问题就解决了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)