Re: [eside-ghost] Pregunta de programación
Elessar
elessartinuviel en gmail.com
Jue Mar 23 17:50:04 CET 2006
De un puntero puedes asignarle más memoria... pero nunca he oído que quieras
asignarle menos XD
En cualquier caso con realloc puedes reasignar la memoria... aunque en tu
caso si tinees los primeros bits de control "estas jodío". porque perderás
los que te sobran... en cualquier caso mueve primero a la izquierda y luego
haz el realloc.
De todas formas.. hablando de eficiencia, comparar un memmove y un strcpy..
pues no sé cual puede ser más eficiente ( aunque conociendo a los frikazos
que hacen los compiladores pues usarán para el strcpy las intrucciones de
los x86 optimizadas para cadenas de caracteres) pero de lo que DESDE LUEGO
estoy seguro es de que, a menos que tengas que instanciar 200.000 cadenas de
caracteres así no te darás cuenta de cual es más rápida XDDDD.
Tengo la impresión de que te he respondido y al final te he dejado como
estabas... pero espero que te haya servido de algo XDDDDD.
un saludo
El día 17/03/06, halls <frikihalls en gmail.com> escribió:
>
> wop!!
>
> 2006/3/17, Alejandro López Monge <kodemonk en telefonica.net>:
> >
> > Iep!
> >
> > Tengo un buffer de char* de tamaño 1024 bytes y nombre DATA. Los
> > primeros chars de
> > data son de control y me gustaría poder prescindir de ellos después de
> > leerlos.
> > Ahora hago un
> > memmove(data,&data[numero_bytes_control],tam_data-numero_bytes_control);
> > pero no
> > me gusta me parece muy poco eficiente tener que mover todo el buffer
> > hacia la
> > izquierda. Mi pregunta:
> >
> > ¿se puede hacer un free parcial?, es decir borrar de un buffer creado
> > con malloc
> > sólo un trozo.
>
>
>
> y yo me pregunto... son muchos caracteres de control? tantos como para
> realmente necesitar liberar la memoria ke ocupan? porke si no es asi, se me
> ocurre ke hagas algo como esto:
>
> char *data;
> char *control;
>
> control = (char *)malloc( 1024 + num_bytes_control );
> data = &control[num_bytes_control];
>
>
> mas comodo no?
>
>
>
> _______________________________________________
> eside-ghost mailing list
> eside-ghost en deusto.es
> https://listas.deusto.es/mailman/listinfo/eside-ghost
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: https://listas.deusto.es/mailman/private/eside-ghost/attachments/20060323/c8453693/attachment.htm
Más información sobre la lista de distribución eside-ghost