[eside-ghost] Comportamiento extraño de un programa

txipi txipi en sindominio.net
Vie Abr 11 23:43:15 CEST 2008


Aupa!

On Fri, 11 Apr 2008 23:36:16 +0200
"STenyaK (Bruno Gonzalez)" <stenyak en gmail.com> wrote:

> string result = "hola ";
> result+="y";
> result+=" adios";
> return result;
> Si reemplazo return result; por return "lalala"; gcov me reporta que
> se ha ejecutado también N>0 veces, y devuelve "lalala", claro.
> ¿Alguna idea?

Quizá hablo un poco al pedo y no tiene mucho sentido lo que digo, pero
como pedías alguna idea, aquí va... O:-DDD

en la línea result+="adios" se modifica la posición de memoria de result
+loquesea y es normal que se dé cuenta de que la línea de source ha
sido ejecutada, pero en "return result" como en la anterior línea se ha
trabajado con result, ya está su referencia en EAX y el return result
no tiene que hacer nada, solamente volver, por eso quizá el gcov no se
pispa.

En el otro caso, como hay que crear "lalala" en memoria para luego
devolver su dirección, gcov se da cuenta fácil.

¿Podrías probar a meter algo de código que no trabaje con result entre
result+=" adios"; y return result para ver si tiene sentido lo que digo?

-- 
Agur,
  txipi


Más información sobre la lista de distribución eside-ghost