he terminado de poner muchas pequeñas funciones en línea en un archivo de cabecera que incluyo en muchas unidades de compilación, el código está correctamente insertado por el compilador y el programa funciona como un amuleto.encabezado lleno de funciones en línea, ¿puedo mover el código fuera del archivo de encabezado y todavía en línea todo?
pero ahora el archivo de cabecera es algo muy inusual (por ser un archivo de cabecera), para que sea más fácil de leer que pensé que hacer algo como esto:
#ifndef MY_HEADER_H
#define MU_HEADER_H
static inline
void my_fnct (my_param a);
#include "my_header.inline.c"
#endif
y el archivo my_header.inline.c
será como:
static inline
void my_fnct (my_param a)
{
// .. my code ..
}
luego, cuando quiero estas funciones solo incluyo el archivo de encabezado.
mi pregunta es: ¿hay una manera mejor de lograr esto sin llenar un archivo de cabecera con demasiado código? o puedo hacer esto y espero que otros desarrolladores entiendan este código sin problemas?
¿Cuál es el problema de tener funciones en línea en el encabezado, de nuevo? las funciones en línea deberían ser muy cortas, de una sola línea, realmente. – littleadv
En cuanto al rendimiento del código, lo único que puede ver si esto es importante es medirlo. ¿Cuál es la ralentización de tu compilador con todas las cosas incluidas? Mi experiencia es que tales cosas son insignificantes con los compiladores modernos. Y no vale la pena tener cientos de opciones de configuración que puedes confundir fácilmente. –