大家好,由于一些原因,本人需要接触Fortran,有如下疑问。

大家好,由于一些原因,本人需要接触Fortran,有如下疑问。,第1张

2)Fortran77、6个空格的是fixed格式,不是Free格式。

强烈推荐你使用fortran90 free格式,并行效率更高。fortran77 fixed格式已是old-fashion。你可以在这方面做些功课。

每行限度为72列,一般都不够用的,不过在编译时加上,-extend-source选项就可以把72列的限制扩展到132列,你查查看。非并行的程序使用使用普通的编译器如ifort、gfortran等,不过既然是使用OMP,编译时就应该用mpiifort。

程序中声明private变量迟指手时,应该是用到时再声明,一般不会太长吧。

!$OMP PARALLEL DO PRIVATE (K,J,I)

DO K = 1,KM

DO J = 1,JMT

DO I = 1,IMT

variables (I,J,K)= 0.0

END DO

END DO

END DO

3)linux下,你这是一个主程序调用多个F90程序,推荐你使用make编译、链逗游接,这里是一个例子,比如你有main.F90 其中使用MOD模块mymod,并调用了test1.F90和 test2.F90,那么你的make文件(Makefile)可以这样写:

INCLDIR = -I. -I/usr/include -I/码嫌your/mpi/include

CPPFLAGS = -P -traditional

CPP = /usr/bin/cpp $(CPPFLAGS) $(INCLDIR)

NLIB = -L/your/mpi/bin64

###your mpi compile options

FFLAGS = -O2 -no-vec -r8 -i4 -convert big_endian -assume byterecl -save

FC = /your/mpi/bin64/mpiifort $(FFLAGS)

OBJS = mymod.o test1.o test2.o main.o

##########################################################################

###the executive file---run.exe will be created

run.exe: $(OBJS)

$(FC) -o ./run.exe $(OBJS) $(NLIB)

.SUFFIXES : .F90

.F90.o:

$(CPP) $<>$*.f90 $(FC) -c $*.f90

clean:

rm -f *.o *.il *.f90 *.f *.mod *.d run.exe

依次执行

$ make clean

$ make

即可编译成可执行文件run.exe,运行之即可。

c51头文件的作用与c头文件的作用类似。

absacc.h---包含允许直接访问8051不同存储区的宏定义

assert.h---文件定洞行义assert宏,可以用来建立程序的测试条件

ctype.h---字符转换和分类程序

intins.h---文件包含指示编译器产生嵌入式固有代码的程序的原型

math.h---数学程序

reg51.h---51的特殊寄存器

reg52.h---52的特殊寄存器

setjmp.h---定义jmp_buf类型和setjmp和longjmp程序的原型

stdarg.h---可变长度参数列表程序闷颤首

stdlib.h---存储器分配程序

stdio.h---流蚂数输入和输出程序

string.h---字符转 *** 作程序,缓冲区 *** 作程序


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

原文地址: http://outofmemory.cn/tougao/12196351.html

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

发表评论

登录后才能评论

评论列表(0条)

保存