回 帖 发 新 帖 刷新版面

主题:这两种调用子程序有什么不同吗

我是在linux下用的gfortran,想问一下:

如果子程序和主程序不在一个文件里面,

那么以下两种方法调用有什么区别吗?

假设主程序是a.f90,子程序是b.f90

1.在主程序里面加上include b.f90  ,然后用gfortran a.f90 -o ab  编译

2.主程序里面不用加include语句,用gfortran a.f90 b.f90 -o ab  编译

求教!谢谢

回复列表 (共2个回复)

沙发


第一种方法,编译一次,链接一次。生成1个目标代码
当 b.f90 发生改变时,需要重新编译全部代码。
当 a.f90 和 b.f90 都非常巨大时,编译非常慢。


第二种方法,编译两次,链接一次。生成2个目标代码
当 b.f90 发生改变时,只重新编译 b.f90
当 a.f90 和 b.f90 都非常巨大时,分开编译可以提高编译速度。

建议大型程序使用第二种方法。

板凳

再次感谢!

我来回复

您尚未登录,请登录后再回复。点此登录或注册