24小时热门版块排行榜    

CyRhmU.jpeg
查看: 373  |  回复: 2
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

yudf65

金虫 (正式写手)

[交流] 【求助】请教external函数

请问external这个函数都有什么用呢?请举例说明下,谢谢!

[ Last edited by nono2009 on 2009-10-9 at 09:14 ]
回复此楼
为什么我的眼里满含泪水?因为我对这土地爱的深沉
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jjdg

版主 (知名作家)

优秀版主

★ ★ ★ ★
nono2009(金币+2,VIP+0):谢谢热心帮助。欢迎常来交流。 10-9 10:17
yudf65(金币+2,VIP+0): 10-9 11:06
◆EXTERNAL属性和哑过程 (哑元为外部过程,即哑过程)
指定EXTERNAL语句或属性说明实元实际上是外部过程
类型定义语句: 类型,EXTERNAL :: 外部函数名[,外部函数名]…
或EXTERNAL语句:EXTERNAL [外部函数名][,子程序名][,块数据名]…
哑元也可以是一个过程,这时作为哑元的过程称为哑过程。(至少两层调用)
例如:
!-----------------------------------------------------------------------
Programm main
Real x,y
External Plus !外部过程名作实元,必须用External说明,或者具有External属性
x=1.0 ; y=2.0
Print,* Calculate(x,y,Plus) !调用Calculate函数,实元为外部过程Plus
End Program main
Real Function Plus(a,b) !(第二层被调用的外部函数)
Real, Intent(In) :: a,b
Plus=a+b
End Function Plus
Real Function Calculate (x,y,func)
Real, Intent(In) :: x,y
Real, External func !类型定义语句, 说明哑元时一个外部过程, 也可以直接用External说明
Calculate=func(x,y) !调用自定义的外部函数
End Function Calculate
!-----------------------------------------------------------------------
或者将 Real, External func 改为接口程序:
Interface
Real Function Plus(a,b) !Plus被接口块说明为一个哑元,即一个哑过程
Real, Intent(In) :: a,b
End Function Plus
End Interface

[ Last edited by jjdg on 2009-10-9 at 09:40 ]
努力学习!以正当途径!获得需要的知识!
3楼2009-10-09 09:38:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 3 个回答

nono2009

超级版主 (文学泰斗)

No gains, no pains.

优秀区长优秀区长优秀区长优秀区长优秀版主

建议查一下fortran的用户手册。
2楼2009-10-09 09:17:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复(可上传附件)
信息提示
请填处理意见