hola a todos, os escribo a ver si alguien me puede orientar un poco sobre unas cuantas cuestiones que no he conseguido resolver con el material que utilizo para aprender C y C++.
Estoy desarrollando una pequeña aplicación que consta de varios ficheros.
1. He utilizado el fichero stdlib.h en varios ficheros además de incluirlo en el programa principal. La cuestión es si el compilador añade el stdlib.h en cada fichero (lo que haría aumentar el ejecutable, creo) o por el contrario lo optimiza de alguna manera para que todos los ficheros de mi programa utilicen el mismo stdlib.h aunque hayan varios archivos que lo incluyan?
2. Tengo la intención de utilizar algunas variables globales a todos los archivos que he creado y la forma que he pensado para implementarlo es colocar todas las variables globales en un archivo para centralizar el control de dichas variables. La cuestión es que no se como hacerlo ya que lo que he intentado es crearme un fichero variables.h y declarar las variables en variables.c inicializandolas a un valor determinado, pero no lo he conseguido. No se si lo que intento no esta permitido o solo las puedo declarar en el programa principal, así que si alguien me puede aclarar esto estaría muy agradecido
3. Por ultimo una cuestión que no se si es importante pero aun así lo pregunto, situación: tengo los siguientes ficheros:
principal.c
memorias.c
memoria.h
disco.c
disco.h
estructuras.c
estructuras.h
principal, memoria y disco hacen uso de estructura
disco hace uso de memoria
todos hacen uso de librerías estandares(stdlib,stdio,...)
mi pregunta es:
a) donde debo incluir los archivos de cabecera estandares(stdio,...) en el .h o en el .c? lo pregunto porque creo que en alguna ocasion el resultado que obtenia era idéntico poniéndolo en el .h y en el .c por lo que no se donde es mas correcto o optimo.
donde incluyo los ficheros creados por mi, por ejemplo: donde pongo el memoria.h en disco.h o en disco.c?
Gracias de antemano por vuestra ayuda. Un saludo
Pd: lo siento por haberme extendido tanto.