我有一个运行一系列子例程的fortran程序。其中的第一个从.txt文件读取数据的负载。所有变量都在另一个文件中定义,该文件与程序和每个子例程中的'include'一起包含。我怎样才能最好地将变量传入和传出各种子例程?Fortran 08中的'全局变量'?
回答
考虑将COMMON
块转换为模块,然后只导入通过use some_module, only: var1, var3, var6
实际使用的变量。由于各种原因,include
文件是一个坏主意,尤其是因为当您更改它们时,它们不会触发make重建依赖它们的源文件。最好留下他们与其他可怕的F77isms ...
*“他们不会触发make重建”*看起来你没有使用moern buid系统,或者没有正确设置你的依赖列表。 –
感谢您的帮助,这里是主程序的第一部分(全部正开始后) '程序shear_3d' 隐无 !包含变量 包括“variables.f08” 通话的read_data 打印* “读取数据” 呼叫derive_variables(NX) 打印*, “派生变量” 呼叫init_matrices 打印*, “初始化矩阵” 呼叫initial_conditions' 和变量的文件是这样的: '整数I,J ,k,t 整数NX,NY,NETA,NZ,nt下 整数read_nx,read_ny,read_nz 双精度DX,DETA,DZ,DT' 与100行左右 – TomJ
@TomJ它是完全不可能在这里读取的代码。您的问题包括任何相关信息。请确实阅读这些链接。 –
- 1. Fortran中受保护的全局变量
- 2. Fortran模块和全局变量
- 3. lotusscript中的全局变量如何全局变量IBM Notes 9
- 4. 全局变量
- 5. 全局变量
- 6. 全局变量?
- 7. 全局变量
- 8. 全局变量
- 9. 全局变量
- 10. 全局变量
- 11. 全局变量
- 12. Ember中的全局变量
- 13. sqlQuery中的全局变量
- 14. python中的全局变量
- 15. C#中的全局变量
- 16. MonoTouch中的全局变量
- 17. Ironpython中的全局变量
- 18. C中的全局变量#
- 19. javascript中的全局变量
- 20. JS中的全局变量
- 21. Silverlight中的全局变量?
- 22. JavaScript中的全局变量?
- 23. Swift中的全局变量
- 24. CodeIgniter中的全局变量
- 25. pytest中的全局变量
- 26. iOS中的全局变量
- 27. MkDocs中的全局变量
- 28. Rails中的全局变量
- 29. Windows.Forms中的全局变量
- 30. Delphi中的全局变量
通过参数列表传递变量,使用派生类型适当。全局变量是一个坏主意。 –
请阅读[问]。你应该显示你的代码。我不清楚你到底在做什么以及你想做什么。另见[mcve]。 –
即我的意思是,它们是可以在子程序中改变的变量吗?或常量?你有什么问题?问题设计?或者如何编码?你想看看我们的一些代码吗?如果是的话,我们首先需要看到你的一些代码。同样参加[巡演],这很有用,说实话,我不仅仅是在嘲笑每个人都是一个混蛋。 –