On 5/6/05, Bismark Castilla <[EMAIL PROTECTED]> wrote: > a ver si entendi por lo que he leito ahora y en paginas que he buscado. > > los kernel headers son los .h que tiene el kernel, que son necesarios > para compilar algunos fuentes ya que ellos se encargan de comunicar > los software con el kernel algo asi no???
Bueno, yo te habl� de la funci�n de las cabeceras (headers) no de su forma. ;-) Efectivamente, en los .h hay: +declaraci�n de las funciones y argumentos del kernel. +declaraciones de las estructuras de datos que maneja el kernel +declaraciones de constantes asumidas al compilar el kernel. Un ejemplo sencillo que te pongo para aclararlo. Una opci�n importante en el kernel es el m�ximo de memoria ram que soporta (1 gb, 4 gb, ...) en funci�n de la opci�n escogia, los punteros en C dentro de un programa ser�n m�s grandes o no. As� que todo programa que use punteros deber�a examinar en las cabeceras el tama�o de la memoria para actuar en consecuencia. (En realidad, el tama�o de los punteros los calcula el compilador de C autom�ticamente, aunque para ello es necesario que este est� compilado adecuadamente para el kernel que tienes �y para eso necesitas las cabeceras del kernel! ;-) > bueno y ahora que son los glibc?? tengo entendido que son librerias no > se bien?? y que tienen que ver con los kernel headers?? el lenguaje C tiene solamente 27 instrucciones: int, enum, char, void, if, for, else, goto, float, double, switch, default, break, continue... Casualmente todo lo que sea una funci�n (un nombre seguido de parentesis) y que no hayas definido tu, seguramente est� definido en glibc. Si escribes en consola: $ info libc Tienes informaci�n sobre las libc (glibc=gnu + libc) Como el kernel hay que compilarlo con gcc, supongo que tiene que existir alguna relaci�n del kernel con el glibc, y hasta aqu� puedo seguir leyendo. (supongo que el glibc necesita de las cabeceras del kernel para compilarse y todos los programas en C necesitan glibc para ejecutarse, as� que un glib no coordinado con el correspondiente kernel dan pie al desastre m�s grande que uno se puede echar a la cara, pero esto son ya conjeturas sin fundamento). atte. javier m mora. P.D: realmente no es necesario saber de estas cosas para usar linux. Lo importante: si no has compilado tu kernel necesitaras las cabeceras si vas a compilar algo serio. Si no te sales de la �paqueter�a� que te suministra debian no tendr�s poblemas de dependencias raras entre estos programas. Por otro lado, mezclar paquetes de RedHat con Suse y con Debian puede dar f�cilmente con problemas de incompatibilidad de glibc y otros. atte. javier m mora

