fortran主程序调用一个子程序,子程序又调用另一个子程序,如何编译。

fortran主程序调用一个子程序,子程序又调用另一个子程序,如何编译。,第1张

大致思路就是只要不把他们放在一个主程序内就OK了,放在同一个文件或者不同f文件都是一样的。对于第二个问题,回答也是可以的

比如说这样的程序调用:

PROGRAM

MAIN

CALL

SUB1

END

SUBROUTINE

S

CALL

SUB2

END

SUBROUTINE

SUB2()

CALL

SUB3

END

SUBROUTINE

SUB3()

END

这几个子程序和主程序PROGRAM

MAIN可以放在同一个f文件里面编译,也可以分别放置不同f文件,编译时效果一样。

对于fortran 77, 直行for1exe,for2exe,linkexe,就可以生成EXE文件,运行该文件就行了,如果是VISION FORTRAN,直接BUILD\COMPILE,编译通过后,BUILD\BUILD exe就可以生成EXE文件

f90

是新的自知由格式的fortran代码

fortran

90

f

是采用固定格式的fortran代码fortran

77,有一定的区别,但都能达到相同的目的。

fortran

90是由fortran77发展而来了道,增加了一些功能,更加方便。

用哪版种

编译器

都可以,因为f是低级版本的fortran文档,一般高级都支持低级,这个应该权没有问题。

打开Microsoft developer studio选择file菜单中的new选项,在d出的对话框选择projects标签,选用fortran console application,然后给project命名,OK之后选择an empty project

之后再添加代码,选择file中的new,对话框中选择files标签,挂fortran开头的,并给文件取一个名字,之后写入代码,ctrl+F5是编译,大体就这么个流程。

代码如下, 供参考

      program test

      implicit none 

      integer :: n,i

      real(8),allocatable :: x(:), y(:), x2(:), xy(:)

      real(8) :: xbar,ybar,xbar2,xybar,x2bar,a,b

      print, 'Number of points: '

      read(,) n

      allocate(x(n))

      allocate(y(n))

      allocate(x2(n))

      allocate(xy(n))

      do i = 1,n

            print, '(x,y) = '

            read(,) x(i),y(i)

            x2(i) = x(i)2

            xy(i) = x(i)y(i)

      end do

      xbar = sum(x) / n

      ybar = sum(y) / n

      xybar = sum(xy) / n

      xbar2 = xbar2

      x2bar = sum(x2) / n

      b = ( xybar - xbarybar ) / ( x2bar - xbar2 )

      a = ybar - bxbar

       

      print, 'a = ', a

      print, 'b = ', b 

      

      deallocate(x,y,x2,xy)

       

      stop

      end program

一个测试:

 Number of points: 

4

 (x,y) = 

1 2

 (x,y) = 

2 3

 (x,y) = 

3 4

 (x,y) = 

4 5

 a =    100000000000000     

 b =    100000000000000

你不能在 vfproj 文件里输入源代码。

vfproj 是工程文件,请不要通过文本去编辑它。

建议你先删除目前的 vfproj(因为已经被你破坏了)

新建工程(vfproj),然后添加源代码文件。

输入源代码文件后,点击调试或生成菜单下的编译,链接或运行等选项。

(工具栏上默认没有,请通过右键,自定义,把这些按钮拖到工具栏上,如果你需要的话)

方法如下:

方法一:

假如现在有两个Fortran程序1f90和2f90,其中1f90是主程序,2f90是在主程序中调用的子程序,将这两个程序传到Linux的一个目录下,使用fortran编译命令,如PGI的pgf90,Intel的ifort,命令如下:

pgf90 -o exe_name 1f90 2f90

ifort -o exe_name 1f90 2f90

方法二:

在主程序1f90中加入include '2f90'语句,然后在Linux下用fortran命令编译,命令如下:

pgf90 -o exe_name 1f90

ifort -o exe_name 1f90

以上就是关于fortran主程序调用一个子程序,子程序又调用另一个子程序,如何编译。全部的内容,包括:fortran主程序调用一个子程序,子程序又调用另一个子程序,如何编译。、怎样用批处理命令编译fortran程序、编译fortran程序应该选用什么编辑器等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9417850.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存