[C con Clase] Reserva de memoria a partir de una dirección dada.

Programante programante en gmail.com
Mar Jun 22 23:15:23 CEST 2010


El 22/06/10 11:56, Jorge Vega Sanchez escribió:
> Buenas.
>
> Otra preguntita que esta semana estoy pedigüeño.
>
> Estoy tratando de utilizar una pila dentro de los hilos (POSIX en mi caso). Dado que se dice que al crear un hilo se crea un espacio para la pila del hilo. Bueno esto es lo de menos.
>
> La cosa es que consigo la dirección de este  espacio de memoria reservado para la pila y el tamaño de este espacio (size_t).
>
> Al tratar de escribir 3 o 4 datos y posteriormente tratar de sacar uno de ellos como mera prueba sucede que al tratar de meter el primer dato me sale un SEGMENTATION FAULT asín de grande.
> Supongo que me sale porque estoy intentado entrar en una zona de memoria no reservada para mi (aunque se supone que si). Bueno entonces me gustaría saber si hay alguna forma de reservar ese espacio.
>   

Creo que el problema es que el sistema con el que estás trabajando usa
una pila de direcciones altas a las bajas, pero tu clase pila trabaja de
las bajas a las altas.
De todos modos, eso que estás haciendo es completamente inseguro. Dentro
de funcion estás usando la pila del hilo. Luego escribes en esa misma
pila con la clase STACK, sobreescribiendo vete tú a saber qué. ¿Por qué
no usas una dirección de memoria reservada por ti?




Más información sobre la lista de distribución Cconclase