C/Visual C - far y Linux

 
Vista:

far y Linux

Publicado por Edgar (3 intervenciones) el 25/01/2003 19:43:37
Bueno tengo un par de problemas, estoy empezando con C y extraño mucho Java :-(
el problema que tengo es que necesito tener un puntero a una direccion de memoria segmentada 0xB800:0000 pero tengo gcc o sea compilador C/C++ para Linux pues es el sistema que uso y al parecer los punteros far son exclusivos de Microsoft C, entonces no puedo compilar con ese puntero, quisiera saber como puedo sustituirlo, ademas tengo el problema que cuando llamo por primera vez la funcion gets(char *); el systema se comporta como si hubiera presionado la tecla Enter, tengo que llamarla de nuevo para que me permita escrivir mi cadena.

Gracias y hasta luego.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:far y Linux

Publicado por Googol (255 intervenciones) el 25/01/2003 20:14:13
Los punteros far no son exclusivos de Microft C, sino de la programación para MS-DOS o Windows 16 (para la arquitectura x86 en modo real). Si se programa para Windows 32 aún se puede poner un puntero a far, pero en realidad no tiene sentido (no afecta en absoluto; sólo se admite por compatibilidad con Windows 16). Eso se debe a que Win32 tiene un modelo de memoria de 32 bits. Linux también usa un modelo de memoria de 32 bits (sobre el Intel), por tanto no tampoco hay punteros far. La solución sería construir un puntero con 0x000B8000. Pero no funcionará. Parece que lo que pretendes es acceder a la memoria de la tarjeta de video. Y eso ni en Linux ni en Windows se puede hacer tan "libremente". Desde Linux, tal vez puedas intentar leer del dispositivo del terminal virtual actual (algo como /dev/vc0, pero no estoy seguro).
Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:far y Linux

Publicado por Edgar (3 intervenciones) el 27/01/2003 00:26:15
Si en efecto estoy intentando acceder a la memoria de video y el codigo que he escrito funciona perfectamente en Windows, estoy de acuerdo con lo del modelo de 32 bits eso me aclara el uso del far y lo del dispositivo de terminal creo que es una buena idea pero entonces lo dejare para otro momento pues no conosco C tan bien como para meterme en tantos lios.

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:far y Linux

Publicado por Googol (255 intervenciones) el 04/02/2003 15:56:36
De nada :-)
De todas formas te funciona en Windows porque el programa es de MS-DOS, que se ejecuta en una ventana MS-DOS en el que se emula el funcionamiento en modo real. Si intentaras hacer eso en una aplicación real de Windows, no funcionaría.

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar