Esta es la contestación más válida que te podemos dar, pero estúdiala pausadamente y analiza si se puede adaptar a tu proyecto.
Solución:
Puede utilizar la memoria compartida (shm_open()
, shm_unlink()
, mmap()
etc).
#include
#include
#include
#include
#include
#include
static int *glob_var;
int main(void)
PROT_WRITE,
MAP_SHARED
No es posible cambiar una variable global porque el nuevo proceso creado (hijo) tiene su propio espacio de direcciones.
Entonces es mejor usar shmget()
,shmat()
desde POSIX
API
O puedes usar pthread
ya que pthreads
están compartiendo el global
Los datos y los cambios en la variable global se reflejan en los padres.
Luego lea algunos tutoriales de Pthreads.
Reseñas y valoraciones
Si crees que ha resultado útil este artículo, agradeceríamos que lo compartas con más entusiastas de la programación y nos ayudes a extender esta información.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)