Diferencia entre librerias-

Horst von Brand vonbrand en inf.utfsm.cl
Vie Ene 28 16:42:49 CLST 2005


=?ISO-8859-1?Q?=22Felipe_Cristi=E1n_Barriga_Richards_=28Lis?=
 	=?ISO-8859-1?Q?tas=29=22?= <lista en felipebarriga.cl> dijo:
> Felipe Covarrubias escribió:

[...]

> > ¿ Alguien ha usado ambas en alguna aplicacion de I/O ?

Para que ambas? Lo bajo <sys/...> es suficiente.

> > reconocio alguna diferencia en el uso de estas para algun puerto ?

> 	Aver hace algun tiempo programe un programa (valga la redundancia)
> para acceder al puerto paralelo. Como trabajo con PowerPC y i386, tuve
> ciertos problemas al intentar utilizar io.h. Primero, para las diferentes
> arquitecturas, las direcciones del puerto paralelo son diferentes (0x378,
> 0x278 en i386).

Bueno, eso si usas los puertos paralelos integrados...

> 	Segundo: En mi linux corriendo sobre PPC, no existe <sys/io.h>,
> solo <asm/io.h>. No se si es por mi distribucion (Gentoo) o por mi
> arquitectura.

Es parte de glibc... el mismo header indica que la funcionalidad no
necesariamente esta disponible, es PCistica. Mi SPARC no lo tiene (porque
no tiene "ports I/O").

>               Como dato freak en mi FreeBSD corriendo sobre i386 no
> existe ni <sys/io.h> ni <asm/io.h>.

Linuxismo sobre PC.

>                                     Si comparan
> /usr/src/linux/include/asm-i386/io.h con
> /usr/src/linux/include/asm-ppc/io.h veran que son archivos totalmente
> diferentes

Porque me late que lo de "asm" en el nombre tiene un poquitin que ver con
esto...

>            pero tienen las mismas funciones.

Linux esta construido de esa manera: Se definen primitivas razonables en
todas (o la mayoria) de las arquitecturas, estas se implementan para c/u, y
el resto del nucleo simplemente las usa sin preocuparse de la arquitectura
entre manos. Macros, funciones inline, optimizacion de gcc hacen que esto
sea equivalente a codigo especifico para cada caso.

>                                              Esto debe ser porque las
> diferentes arquitecturas manejan de forma diferente el acceso a los
> puertos.

Mas aun, hay arquitecturas en las cuales /no hay/ I/O ports.

>          Si van a programar algo para el puerto paralelo (En Linux) les
> recomiendo hacerlo con parport (ppdev) y asi no va a ser tedioso pasar de
> una arquitectura a la otra.

Al fin algo cuerdo...
-- 
Dr. Horst H. von Brand                   User #22616 counter.li.org
Departamento de Informatica                     Fono: +56 32 654431
Universidad Tecnica Federico Santa Maria              +56 32 654239
Casilla 110-V, Valparaiso, Chile                Fax:  +56 32 797513


Más información sobre la lista de distribución Linux