Fortran Coder

查看: 14028|回复: 3
打印 上一主题 下一主题

[指针] 祖传代码错误

[复制链接]

1963

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1357 元
贡献
574 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

楼主
发表于 2016-11-4 13:07:52 | 显示全部楼层
是的,以前 fortran 没有 procedures pointer,所以借用这种方法来加载外部函数。
比如通过 GetProcAddress 获得一个DLL中的函数,结果是 (add) integer ,但是你不能 call integer 啊
所以 pointer( add , fileopen) 令 fileopen 这个函数的首地址,是 add 这个integer的值,这样就类似于 add 是指向 fileopen 这个 procedures 的 pointer 了
以后就可以 call fileopen 了。
(这种方法是不规范的写法,是以前没有 procedures pointer 的权宜之计)

但是,现在 fortran 2003 增加了 procedures pointer ,因此可以不用这样写了。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-6 07:15

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表