开放获取
达米安·w·i·鲁森,卡拉·莫里斯,徐晓峰, "Fortran 95/2003派生类型演算中的动态内存释放",科学的规划, 卷。13, 文章的ID702048, 15 页面, 2005. https://doi.org/10.1155/2005/702048
Fortran 95/2003派生类型演算中的动态内存释放
收到了
2005年12月26日
接受
2005年12月26日
摘要
为计算科学和工程开发的抽象数据类型经常模仿物理对象,其状态变量必须满足控制微分方程。将相关的代数和微分运算符泛化以操作抽象数据类型有助于模拟标准数学符号的高级程序构造。对于非普通表达式,在表达式求值期间必须进行多个对象实例化以保存中间结果。如果在编译时没有指定每个对象的状态空间的维度,程序员就要负责为每个实例化动态分配和回收内存。随着Fortran 2003派生类型中可分配组件的出现,这些中间结果可能会占用程序内存占用的很大一部分。在以粗粒度数据结构为主的最高抽象级别上,这个问题变得特别尖锐。本文提出了一组用于释放为派生类型演算中的中间结果动态分配的内存的规则,同时将该内存与更持久的对象区分开来。将新规则应用于多态时间积分器的设计,用于积分控制动力学系统的演化方程。讨论了效率和设计稳健性的相关问题。
版权
版权所有©2005 Hindawi出版公司。这是一篇开放获取的文章知识共享署名许可,允许在任何媒介上不受限制地使用、分发和复制,只要原稿被适当引用。