compilar file module fortran explicit-interface

file - compilar - Módulo fortran individual en múltiples archivos



compilar fortran (2)

Acabo de leer las muy buenas preguntas / respuestas aquí sobre las formas adecuadas de usar módulos en Fortran. Al escribir subrutinas en módulos, uno los hace explícitos, además de aclarar el código.

Que yo sepa, un módulo tiene que ser puesto en un solo archivo, por ejemplo "mod_exemple.f90". Los programas que escribo son a menudo muy largos, con muchas subrutinas que, de hecho, podrían clasificarse por finalidad y, por lo tanto, colocarse en módulos. El problema: eso haría archivos de módulo muy largos, con cientos de líneas.

¿Puedes dividir un módulo en varios archivos? ¿Se aconseja? ¿Por qué? ¿Tienes otras sugerencias que dividir?


Sí, puede hacerlo, pero debe utilizar include , o #include de cpp, o submódulos, que no son una característica ampliamente admitida de Fortran 2003.

Si las unidades largas y lógicamente separadas tienen que terminar en el mismo archivo por alguna razón (submódulos que aún no están disponibles, por ejemplo), no veo nada malo al usar archivos separados e include .


Yo preferiría dividir un módulo en varios archivos, no es una práctica estándar y me resultaría más difícil de leer / entender que si todas las rutinas relacionadas estuvieran en el mismo archivo. Si sus módulos son demasiado grandes, le sugiero que reconsidere la lógica de los módulos y vea si no puede factorizar el código común y las rutinas de utilidad en sus propios módulos. En lugar de tener su código relacionado extendido en varios archivos, una fuente de módulo de archivo único bien documentado y bien formateado sería la mejor solución, independientemente de cuántas líneas tome.