Foros del Web » Programación para mayores de 30 ;) » C/C++ »

[SOLUCIONADO] Archivo de cabecera

Estas en el tema de Archivo de cabecera en el foro de C/C++ en Foros del Web. Hola a todos Es posible optimizar un archivo de cabecera??? Por ejemplo, si mi programa solo va a utilizar las funciones printf y scanf, por ...
  #1 (permalink)  
Antiguo 19/08/2014, 08:55
 
Fecha de Ingreso: agosto-2014
Mensajes: 7
Antigüedad: 9 años, 8 meses
Puntos: 0
Archivo de cabecera

Hola a todos
Es posible optimizar un archivo de cabecera???
Por ejemplo, si mi programa solo va a utilizar las funciones printf y scanf, por qué tengo que incluir todas las demás,que vienen dentro de stdio.h que además de no utilizarlas, me agrandan el ejecutable final???

El problema es que cuando haces un proyecto medianamente complejo, con muchos archivos de cabeceras, el ejecutable final crece y bastante en mi opinión.

Lo que quiero es crear mi propia cabecera para declarar solo las funciones que utilizaré realmente. Cuando digo "declarar" me refiero a copiarlas de un archivo de cabecera standar.

Saludos
  #2 (permalink)  
Antiguo 19/08/2014, 13:28
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 6 meses
Puntos: 38
Respuesta: Archivo de cabecera

No se que tanto quieres optimizar pero si compilas un simple programa sin el stdio.h solo pesa 46kb y la cosa es que por incluir no me ha subido nada.
¿Quien es que no tiene 46KB en su pc hoy en día? :S
Yo creo que poco vas a ganar.
Haz la prueba y lo ves.
Si lo dices por cuando incluyes varios archivos de cabecera, no creas que se incluye varias veces el stdio.h, por que para algo esta el #ifndef y el #define entre otros.
Ademas no vas a salir poniendo to cuanto archivo de cabecera que pilles ¿No? XD
  #3 (permalink)  
Antiguo 20/08/2014, 00:24
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 13 años, 10 meses
Puntos: 73
Respuesta: Archivo de cabecera

Los archivos de cabecera que vienen con el compilador no deben tocarse. Tampoco es cuestión de decir "como solo utilizo estas funciones, copio solamente la declaración de ellas". Piensa que, además, puede haber definiciones que se necesiten para esas funciones, o inclusión de otros archivos de cabecera, o mil cosas más. Tampoco te preocupes por el ejecutable: El linker (enlazador) te incluirá en el ejecutable el código correspondiente a aquellas funciones que realmente utilices. Y también es normal que en un proyecto con cierta complejidad el tamaño del ejecutable final crezca bastante. Piensa que son muchas líneas de código, y que cada línea de código fuente puede traducirse en muchas líneas de código máquina.

Conclusión: No te compliques la vida con los archivos de cabecera estándar.

Saludos,

Etiquetas: ejemplo, funcion, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:10.