usar local de un tipo de dato definido por mí como parámetro de un proceso

Started by Prg, February 14, 2010, 05:24:23 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.


Drumpi

No se, estoy intentando recordar, pero creo que en algún código sí que he podido pasar datos de un tipo definido por copia. Ahora mismo sólo se me vienen a la cabeza códigos en los que paso punteros a variables de tipos definidos, a ver si de casualidad encuentro alguno.
Ahora estoy con el proyecto y tengo la cabeza ida :P
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

olvidate por copia de estructuras no se puede, eso te lo aseguro...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Prg

lo que pasa es que si la estructura no es local, hace a los punteros apuntar a la misma pocisión

[code language="bennu"]import "mod_say"
type mio;
int x9,y9,z9;
end

local
mio mix;
end
begin
mix.y9=8;
say(mix);
it(mix);

frame;
say(son.mix.x9);
end

process it(mio max);
begin
say(max);
  mix=max;
  say(mix);
  mix.x9=3;
  say(mix.y9);
frame;
end[/code]

Quote> Executing: C:\Program Files (x86)\ConTEXT\ConExec.exe "C:\BennuGD\bin\bgdi.exe" ejemplo

0055D684
0055D684
021908AC
8
3
> Execution finished.


un ejemplo un tanto extraño pero comprensible

[code language="bennu"]
import "mod_say"
type mio;
int x9,y9,z9;
end


declare process it(mio  mix,int a);

end

local
mio mix;


begin
mix.y9=8;
it(mix,5);
frame;
say(son.mix.x9);
end

process it( mio mix,int a)
begin
mix.x9=3;
say(mix.y9);
frame;
end[/code]

Quote> Executing: C:\Program Files (x86)\ConTEXT\ConExec.exe "C:\BennuGD\bin\bgdi.exe" ejemplo

8
0
> Execution finished.
el problema es cuando es local. aqui observamos que la mio en la que recibimos el parametro si se reciben los datos de la funcion que invoca (es el 8 que sale por consola), pero cuando queremos acceder desde otra funcion, la variable local esta vacia (el 0 que se imprime).

Bueno, con punteros quedaría así:

[code language="bennu"]import "mod_say"
type mio;
int x9,y9,z9;
end

local
mio mix;
end
begin
mix.y9=8;
it(&mix);
frame;
say(son.mix.x9);
end

process it(mio *max);
begin
mix=max;
mix.x9=3;
say(mix.y9);
frame;
end[/code]

Quote> Executing: C:\Program Files (x86)\ConTEXT\ConExec.exe "C:\BennuGD\bin\bgdi.exe" ejemplo

8
3
> Execution finished.
y asi si funciona.. creo que me quedare con esta opción. mejor tener un 3 punteros de memoria extra a 9 floats que solo se vacian y luego se dejan de usar :)
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

SplinterGU

no tiene nada que ver con ser local o no... tiene que ver con el pasaje de parametros...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

Quote from: SplinterGU on February 16, 2010, 06:48:46 AM
no tiene nada que ver con ser local o no... tiene que ver con el pasaje de parametros...
¿Pasaje? XD me ha recordado a una calle peatonal que une a otras dos calles XD.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

SplinterGU

Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Windgate

Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

DCelso

sipo, si entenderlo lo entendí :D, simplemente fue una anotacion, un tanto en cuanto un poco est..pida, pero anotación al fin y al cabo :(
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

DCelso

además, tu uso de la palabra corresponde con la primera acepción de la palabra en la rae :), osea que es correctísima en el español de españa, aunque yo no la he oído ni usado nunca para esto :D.

http://buscon.rae.es/draeI/SrvltConsulta?TIPO_BUS=3&LEMA=pasaje

1.  m. Acción de pasar de una parte a otra.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

SplinterGU

Download Lastest BennuGD Release: http://www.bennugd.org/node/2