将fortran代码从电站移植到fortran编译器(2003)时,我需要注意哪些必要条件?
Fortran Powerstation 只是一个编译器。英特尔的 Visual Fortran 也是如此。
而fortran是一种语言。尽管上述两个都确实有一些非标准的供应商扩展,但只要您坚持标准,移植应该没有问题(fortran77 标准编译器在当今最新的编译器上编译时应该没有错误)。
所以只有当你使用一些非标准的、MS 特定的东西时才会出现问题。如果没有看到一些实际代码,没有人可以真正帮助您。
我观察到的是,在电站中,所有变量都被视为全局变量(甚至局部变量也是如此)。与 intel fortran(2003) 一样,它们具有单独的本地和全局范围。所以我需要将所有局部变量设为全局变量。
嗯,没有。我的意思是,你可以说,fortran 中有“全局”和“局部”变量(尽管它们不是这样称呼的),但我向你保证,它们在两个编译器中都得到了正确处理。我最近都使用了 FPS(我可能仍然将它安装在某个地方),并且它们被视为应有的对待。
在fortran 2003中是否有任何选项(来自属性)可以将所有局部变量设为全局变量。因为我的代码中有数百个变量。与其将所有局部变量分配给全局(在 COMMON 块中的意思),任何人都可以提出一个好的解决方案吗?
就个人而言,如果可以的话,我会避免使用 COMMON 块。它们很好,但在大多数情况下,它们是可以避免的。
除此之外,在将代码从 powerstation 移植到 intel fortran 编译器(11/2003)时,我还需要注意任何其他问题吗?
重命名库和模块。
英特尔的编译器系列是 MS 的后代,因此它确实是一种“自然”的方式。然而,在没有看到一些实际数据的情况下,很难像这样猜测并给出一般性的建议。
ps 然而,一些“一般性建议”可以在英特尔的软件论坛上找到,也可以在大量其他用户那里找到。他们主要关心从 CVF 到 IVF 的过渡,但我想你可以不时找到一个 FPS 用户。虽然,我再说一遍,fortran 是一种非常标准化的语言。因此,非常便携。考虑到已经说过的,从一个编译器跳转到另一个编译器不应该存在困难。