这是一个奇怪的问题,考虑到实现语言,但仍然。
有一个用Fortran 95编写的程序。我想使用某种插件和钩子来定制它的一些部分。但是有一个限制:这必须纯粹在Fortran中完成,不能使用C或任何其他语言,并且最好(但不是严格要求)仍然是Fortran 95,没有2003功能。可以认为扩展模块类似于
module some_extension
use main_module, only: register_hook
use public_interface_module
subroutine init()
call register_hook(my_hook)
end subroutine init
subroutine my_hook()
...
end subroutine my_hook
end module some_extension
我不认为我是第一个想在Fortran中制作可扩展程序的人。这样做的常见做法是什么?没有必要从字面上看这种界面,但精神上是紧密的。