考虑到实现语言,这是一个奇怪的问题,但仍然如此。
有一个用 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 中制作可扩展程序的人。做这些事情是否有普遍的做法?从字面上看,这种界面并不是必需的,而是在精神上接近的东西。