2017-06-22 4 views
0

Si je suis assez malheureux pour devoir travailler avec deux modules Fortran90 différents ayant un nom de sous-programme en commun, existe-t-il un moyen de faire la distinction entre les deux sous-programmes?Existe-t-il un moyen de distinguer les sous-routines du même nom dans deux modules fortran90 différents?

+0

Et BTW ici il y a un potentiel assez grand pour un double, mais je l'ai fait pas encore vérifié. Des choses comme utiliser 'private' et' only' devraient être évidentes. –

+0

@VladimirF J'ai vérifié une question similaire avant de poster. Je n'ai rien trouvé. –

+0

Dans ce cas, voir la réponse. –

Répondre

1

Vous pouvez utiliser only:

module m1 
contains 
    subroutine sub 
    end subroutine 

    subroutine other_m1 
    end subroutine 
end module 

module m2 
contains 
    subroutine sub 
    end subroutine 

    subroutine other_m2 
    end subroutine 
end module 

    use m1, only: sub, other_m1 
    use m2, only: other2 

    call sub 
end 

Vous pouvez également renommer un d'entre eux dans la déclaration use:

use m1 
    use m2, some_other_name => sub 

    call sub 
end 
+0

Le deuxième sol'n est exactement ce dont j'ai besoin. Je n'ai jamais vu ça auparavant. Merci. –