Autor Tema: Acceso a pixels mediante punteros...  (Leído 1798 veces)

MythomizeR

  • Full Member
  • ***
  • Mensajes: 166
  • Karma: 3
    • Zonatube
Acceso a pixels mediante punteros...
« en: Noviembre 14, 2008, 08:48:11 pm »
Pretendo modificar el pixel 'n' de 'gráfico' de 32 bits a través del puntero 'pbuffer' de la forma habitual en c, por lo que hago:

pointer pbuffer2, pbuffer;

pbuffer=map_buffer(0,grafico);
*(pbuffer+n)=4;

y sin embargo, el compilador me da el error: Pointer required (")"), cosa que no entiendo pues aparentemente está todo correcto...

Otra cosa es, ¿pbuffer quizás debería ser un 'dword pointer' (lo digo porque trabajo en modo 32 bits como he dicho) o con solamente 'pointer' es suficiente?

Un saludo.

Editado:

Si 'pbuffer' lo declaro aparte como:

pointer pbuffer;

entonces sí que funciona, por lo que parece un bugillo...
« última modificación: Noviembre 14, 2008, 09:07:29 pm por MythomizeR »

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12898
  • Karma: 377
Re: Acceso a pixels mediante punteros...
« Respuesta #1 en: Noviembre 14, 2008, 09:07:07 pm »
claro, pero no es un bug... esto es...

[int] pointer pbuffer2, pbuffer...

entonces pbuffer no es puntero sino int.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

MythomizeR

  • Full Member
  • ***
  • Mensajes: 166
  • Karma: 3
    • Zonatube
Re: Acceso a pixels mediante punteros...
« Respuesta #2 en: Noviembre 14, 2008, 09:09:10 pm »
Ah vale, ¡lapsus! :-)

Gracias.

MythomizeR

  • Full Member
  • ***
  • Mensajes: 166
  • Karma: 3
    • Zonatube
Re: Acceso a pixels mediante punteros...
« Respuesta #3 en: Noviembre 14, 2008, 10:26:43 pm »
Por cierto, siguiendo con el tema de los punteros, por lo que he podido comprobar, _creo_ que en Bennu no se puede por ejemplo obtener la dirección de un array o primer elemento de este por medio de su identificador al igual que en C, y por tanto, tampoco acceder a sus elementos a través de éste con el formato de punteros típico citado *(array+n), pues creo que internamente no es tratado como tal...

Ya digo que creo, porque si tengo:

int array[10];
int *parray;


y hago:

parray=array;

obtengo un error de puntero requerido, y por tanto menos todavía puedo hacer algo como *(array+n)...

Luego la cuestión es si tienes pensado implementar esto (aunque ya está bastante bien Bennu con lo que tiene), pero es que pedir es gratis :-)

Un saludo.

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12898
  • Karma: 377
Re: Acceso a pixels mediante punteros...
« Respuesta #4 en: Noviembre 14, 2008, 10:37:55 pm »
parray = &array;

en bennu, poner nombre del array solo es como poner array[0];
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

MythomizeR

  • Full Member
  • ***
  • Mensajes: 166
  • Karma: 3
    • Zonatube
Re: Acceso a pixels mediante punteros...
« Respuesta #5 en: Noviembre 14, 2008, 10:45:59 pm »
Bueno, pues si es característica del lenguaje bien pues :-)

Un saludo.