加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

linux下编译fortran程序 --zz

(2012-01-18 20:26:06)
标签:

fortran

编译

杂谈

分类: 学习资料收藏

本文的目的:在linux下编译单个的fortran程序,及运行

软件环境 操作系统:redhat-release-3AS-13.6.2
编译器:intel fortran

1.编译器的安装,这个网上很多,就不写了,随便搜搜就有,需要注意的是安装路径,及安装后的配置,推荐一篇安装文档

http://fanqiang.chinaunix.net/program/other/2005-03-25/3041.shtml

2.fortran 测试程序,最简单的hello.f90

代码如下:
program main
write(*,*) "hello"
stop
end

3.编译程序 使用命令 ifort -c hello hello.f90
编译后生成可执行文件hello 如果直接用ifort hello.f90,则默认生成文件是a.out

4. 执行可执行文件,在当前目录下输入./hello or ./a.out,就可以看到结果了

转自:http://adobb.blog.hexun.com/26521719_d.html

*******************************************************************************************************************************************************************************

在Linux系统下编译多个Fortran程序

  最近需要在Linux系统下编译多个Fortran程序,在网上搜索了一下,但是资料不多,也许因为这个问题比较简单,不值一提,但还是把我知道的写出来,供大家参考:

  方法一:
  假如现在有两个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

转自:http://www.linuxdiyf.com/bbs/thread-81381-1-1.html

**********************************************************************************************************************************************************************************

注:由于程序是f77写的,使用了如下命令

#f77 -o hello hello.f 编译后生成可执行文件hello

或者:#f77 hello.f 默认生成文件是a.out

在当前目录下输入./hello or ./a.out,就可以看到结果了

编了一个Makefile文件:

=======================================================

FFLAGS = -O
LFLAGS = $(FFLAGS)
F77 = f77 -c
LINK = f77
HDFLIBS = -L/usr/local/hdf/lib -lmfhdf -ldf -ljpeg -lz


.f.o: ; $(F77) $(FFLAGS) $*.f -o $*.o

OBJECTS = \
main.o \
……

SOURCES = \
main.f \
……

xweno: $(OBJECTS)
$(LINK) $(LFLAGS) $(OBJECTS) -o xweno

program : $(SOURCES)
cat $(SOURCES) > cweno.f

clean:
-rm -f $(OBJECTS) xweno

### DO NOT remove this line - make depends on it ###

====================================================

 

注:现在装了ubuntu系统,发现原来的makefile不好使了

只能用命令编译了,对于多个fortran程序,解决办法:

在主程序main.f 结尾end后面加上

include “filename1.f”

include “filename2.f”

……

直至把所有要编译的.f文件全加上

然后打开终端进入程序所在目录执行下面命令

$ifort -o aout main.f

或者分布执行下面命令

$ifort -c main.f

$ifort -o aout main.o

然后就可以运行aout了

$./aout

aout为生成的可执行文件,可以根据自己爱好将文件名aout做相应修改。

--------------------------------------------------------------------------------------

转载自: http://hi.baidu.com/ch02221/blog/item/b23845cca56e785a0eb345d3.html

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有