Ich weiß, dass die zirkuläre Abhängigkeit von Modulen in FORTRAN verboten ist. Aber ich frage mich, wie stark dieses Verbot ist. Lassen Sie uns sagen, ich habe:Können zwei FORTRAN-Module Teile voneinander verwenden?
module mod1
integer, public :: i,j,k
use mod2, only: m
end module mod1
und
module mod2
integer, public :: l,m,n
use mod1, only: j
end module mod2
Es scheint mir, dass diese Zirkularität in einem logischen Sinn ausweicht, aber das bedeutet nicht, die Standard es erlaubt. Sollte es funktionieren?
Wenn ja, habe ich Probleme beim Kompilieren, weil mod1 natürlich mod2 sehen möchte und umgekehrt. Gibt es einen Weg dahin?
* Es scheint mir, dass dies Zirkularität in einem logischen Sinn * ausschließt; ach, nicht in einem Sinne, den der Fortran-Standard erkennt. Der offensichtliche (?) Workaround besteht darin, 'm' und' j' in ihre eigenen Module zu verschieben. –
@HighPerformanceMark Ok, dann. Das ist der Stand der Dinge. Vielen Dank. –
verwenden Sie bitte wirklich tag [tag: fortran], damit Leute Ihre Frage finden können. Ich habe das mehrmals gefragt. Fortran 90 ist eine alte, sogar veraltete Version. Sind Sie sicher, dass Ihre Frage darauf beschränkt ist? Auch wenn ja, verwenden Sie tag fortran und fügen Sie zusätzlich ein versionsspezifisches Tag hinzu. –