Red de conocimiento informático - Computadora portátil - Cómo implementar la modularización en lenguaje C

Cómo implementar la modularización en lenguaje C

El lenguaje C es una herramienta para la programación modular. Cómo organizar los módulos y cómo interactuar entre ellos debería ser un gran problema. Creo que hay algunas cosas que vale la pena señalar (corríjame si me equivoco):

1. Cada archivo fuente es un módulo independiente. Debería poder funcionar sin conectarse a ningún otro módulo. sin Compile de forma independiente sin otros archivos fuente.

2. Los módulos interactúan a través de funciones, constantes, variables, definiciones de estructuras y macros (parece ser un tipo de constante)

3. Cada módulo debe incluir importaciones y exportaciones. Por ejemplo, si desea llamar a la función foo() de otro módulo, necesita

extern int foo()

Esto debe pertenecer a la parte de importación del módulo

p>

Las funciones proporcionadas por este módulo deben declararse en el archivo de encabezado correspondiente como la parte exportada del módulo.

La parte exportada de un módulo debe colocarse en el archivo de encabezado del módulo.

4. Si la variable solo se usa en este módulo, se puede definir como estática en este módulo; de lo contrario, es una variable global. La variable global se declara en el archivo de encabezado y también se usa como. una exportación de la parte del módulo.

5. Las macros se pueden definir en archivos de encabezado o archivos fuente. Si la macro solo se usa en el módulo, es equivalente a una constante local y debe colocarse en el archivo fuente; si también la usan otros módulos, colóquela en el archivo de encabezado;

6. Las definiciones de estructura parecen estar ubicadas en archivos de encabezado. ¿Debería haber otro archivo de encabezado usado específicamente para definir la estructura?

En primer lugar, no sé si mi idea es correcta; en segundo lugar, creo que debería haber un estándar sobre cómo se deben organizar los archivos, pero desafortunadamente no puedo encontrar esa información. Espero que alguien con experiencia pueda ponerse de pie y dar algún consejo, gracias