Les deux langages permettent à un seul programme/bibliothèque de s'étendre sur plusieurs fichiers. Les langages C utilisent des instructions utilisant des fichiers d'en-tête créés explicitement, alors que Fortran fait générer par le compilateur une interface à partir d'un seul module. Pardonnez-moi d'avance si j'ai mal compris comment l'une ou l'autre langue compile son code source. Dans les programmes c/C++, vous créez généralement des fichiers .c contenant du code source et des fichiers .h contenant l'interface de votre code afin que les autres fichiers sources puissent anticiper ce qui est dans la source, qui est ensuite compilé dans les bibliothèques Dans les programmes Fortran (90+), vous pouvez mettre du code dans des modules séparés, et au lieu d'écrire explicitement un fichier d'en-tête/interface pour chacun d'entre eux, le compilateur va générer des interfaces pour eux et les placer en fichiers binaires séparés (fichiers .mod) en plus des fichiers objet compilés. Créer des bibliothèques, des fichiers objets, etc. nécessite ensuite de les compiler/les lier ensemble.Différence subtile entre Fortran et c par rapport à la façon dont les sources sont interfacées et compilées ensemble
Pourquoi y a-t-il une différence subtile entre la façon dont ces langages compilent leurs interfaces? Est-ce juste une bizarrerie qui résulte des longues histoires de l'une ou l'autre langue?
La norme Fortran ne dit rien sur les fichiers '.mod'. – francescalus
Si différentes langues ne pouvaient pas utiliser différentes approches pour accomplir les mêmes choses, combien de langues aurions-nous? – Dmitri
Oui, c'est surtout un artefact de l'histoire du développement de chaque langue. Et d'autres langues (comme, par exemple, Java) font leur propre chose. Il n'y a aucune raison de s'attendre à ce que deux langues différentes utilisent les mêmes conventions pour compiler et lier du code dans plusieurs fichiers source. –