• Sábado 14 de Diciembre de 2024, 18:50

Autor Tema:  Punteros far  (Leído 2487 veces)

Epa

  • Miembro MUY activo
  • ***
  • Mensajes: 242
  • Nacionalidad: ar
    • Ver Perfil
Punteros far
« en: Viernes 28 de Agosto de 2009, 01:13 »
0
Buenas, a todos.
La verdad que hace rato no me pasaba por el foro, pero un pequeño problema me trajo de vuelta por aca.
Estaria muy agradecido si alguien me puede tirar un dato de cual es el error.

Resulta, que estoy haciendo una aplicacion en la que necesito salir de mi segmento de datos, por lo que decidi recurrir a punteros far, declarando estos de la simple forma:
Código: C++
  1.  
  2. size_t far *var;
  3.  
  4.  
pero resulta que el compilador me da un error de sintaxis. Esoy usando el dev_cpp en su ultima version (5 creo). Pero igualmente me instale un vc6 que tenia por ahi tirado para probar, y lo mismo..
Tambien probe usar _far __far _far_, pero con todo es lo mismo.

Que acaso no son ANSI los punteros far?

Gracias de antemano por cualquier respuesta.

Saludos
The sweet smell of a great sorrow lies over the land.


Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Punteros far
« Respuesta #1 en: Viernes 28 de Agosto de 2009, 09:18 »
0
No lo son ni los necesitas para nada, en 32/64 bits no son mas que un recuerdo, con un puntero (4 BYTES) podes direccionar cualquier direccion en los 4GB. ¿Que estas tratando de hacer exactamente?

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Punteros far
« Respuesta #2 en: Viernes 28 de Agosto de 2009, 11:52 »
0
Los modificadores de NEAR y FAR se usaban en la época de la arquitectura segmentada de 16 bits para indicar si el puntero estaba en el mismo segmento (no necesita especificar el segmento, sólo el desplazamiento) o en otro segmento (necesita especificar el segmento) respectivamente. Están obsoletos en la actualidad, ya que hoy en día se usa el modo protegido de los procesadores x86 y esas distinciones ya no tienen sentido alguno en este modo.

Saludos

Epa

  • Miembro MUY activo
  • ***
  • Mensajes: 242
  • Nacionalidad: ar
    • Ver Perfil
Re: Punteros far
« Respuesta #3 en: Sábado 29 de Agosto de 2009, 05:19 »
0
Buenas.
Parece que estoy algo desactualizado (y bastante!).

Empeze a hacer un pequeño programa de gestion para el microemprendimiento de mi hermana. Y queria hacerlo por consola, ya que no manejo demasiado las apis. Y se me ocurrio hacer un entorno algo mas interactivo que los tipicos menues. Y se me ocurrio hacer las salidas directamente a pantalla, por lo que queria manejar directamente la memoria de video.

En el caso que me comentan, de que los punteros son de 4 bytes, parece que me surge un nuevo problema, ya que intente usarlos sin modificador y el ejecutable tira error y se cierra.

La memoria de video sigue estando ubicada en el mismo lugar? (B800:0000) O es una cuestionde proteccion del SO?

En todo caso, me podrian decir donde puedo buscar info al respecto? Estube buscando, ademas de en los 3 libros de C/C++ que tengo en casa, y todos dicen los mismo, con punteros far a partir de B800:0000.

Gracias por las respuestas,  y disculpen lo extenso de los mensajes.

Saludos
The sweet smell of a great sorrow lies over the land.


Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Punteros far
« Respuesta #4 en: Sábado 29 de Agosto de 2009, 09:17 »
0
Si, estas muy desactualizado, si queres hacer ese tipo de cosas crea ejecutables para MS-DOS (usando un compilador para ese S.O.). En S.O.s modernos mejor olvidalo, no tenes permiso para acceder a la memoria de video y ademas no deberias hacerlo (no es monotarea como MS-DOS y le pertenece a todos los procesos INDIRECTAMENTE). Sino usa los servicios del sistema en cuestion ...

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

Epa

  • Miembro MUY activo
  • ***
  • Mensajes: 242
  • Nacionalidad: ar
    • Ver Perfil
Re: Punteros far
« Respuesta #5 en: Lunes 31 de Agosto de 2009, 03:12 »
0
Ok, voy a ver si me busco otro compilador.

Gracias por las respuestas.
Saludos
The sweet smell of a great sorrow lies over the land.


Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Punteros far
« Respuesta #6 en: Lunes 31 de Agosto de 2009, 09:09 »
0
Es una opcion, la otra es olvidar ese tipo de programacion y usar herramientas modernas. Sino queres aprender la API de Windows siempre te queda .NET que es mucho mas simple.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

Epa

  • Miembro MUY activo
  • ***
  • Mensajes: 242
  • Nacionalidad: ar
    • Ver Perfil
Re: Punteros far
« Respuesta #7 en: Martes 1 de Septiembre de 2009, 23:44 »
0
No es que no quiera aprender, sino todo lo contrario, pero la facu no me deja dedicarle mucho tiempo por ahora, por lo que queria hacer algo provicional para no tardar demasiado, y mas adelante hacerle un entorno de ventana.
En cuanto a .NET la verdad no tengo muchas ganas de meterme en otro lenguaje hasta no profundizar (y actualizarme  :P  ) en c++, dejando de lado que este cuatri me tengo que aprender Pascal  <_<

Gracais por los datos y los comentarios
Saludos
The sweet smell of a great sorrow lies over the land.