Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Ecovacs Deebot X12 OmniCyclone: lava grazie a FocusJet
Ecovacs Deebot X12 OmniCyclone: lava grazie a FocusJet
Il nuovo Deebot X12 OmniCyclone abbina un sistema di raccolta dello sporco senza sacchetto, un rullo di lavaggio esteso e la tecnologia FocusJet per intervenire più efficacemente sulle macchie più persistenti. Un robot completo e preciso che aiuta a tenere puliti i pavimenti di casa con il minimo sforzo
Narwal Flow 2: la pulizia di casa con un mocio a nastro
Narwal Flow 2: la pulizia di casa con un mocio a nastro
Narwal Flow 2 implementa un mocio a nastro che esegue una pulizia dettagliata del pavimento di casa, in abbinamento ad un potente motore di aspirazione della polvere: un prodotto ideale per gestire in autonomia e con grande efficacia le necessità di pulizia dei pavimenti di casa
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
MSI FORGE GK600 TKL WIRELESS: switch lineari hot-swap, tripla connettività, display LCD e 5 strati di fonoassorbimento. Ottima in gaming, a 79,99 euro
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 12-05-2003, 19:44   #1
Arpeda
Senior Member
 
L'Avatar di Arpeda
 
Iscritto dal: Nov 2000
Messaggi: 342
condividere variabile tra padre e figlio

ciao a tutti,
stavo smanettando con le fork ed ecco le prime difficoltà

supponiamo che abbia la necessità di convidere una variabile tra padre e figlio come posso realizzare una cosa di questo tipo?

altra cosa che non è mi molto chiara .. quando viene creato il figlio a questo viene associato il codice sorgente del padre, ora quello che mi chiedo, il figlio riesegue il programma da capo, oppure continua semplicemente ed esegue _SOLO_ la parete dell'if (pid ==0) ?
dalle prove che ho fatto direi che riinizia l'esecuzione da capo, ma non ne ho la certezza.

ciao
Arpeda
__________________
Membro di HWU Scout Group || Quello che ieri era fantascienza oggi è realtà, quello che oggi è realtà domani sarà solo un ricordo ...
Powered by Gentoo 1.4 on kernel 2.6.12.-gentoo-r4
Arpeda è offline   Rispondi citando il messaggio o parte di esso
Old 13-05-2003, 08:49   #2
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
No...esegue solo la parte dell'if...

Dipende cosa intendi per condividere una variabile... Se vuoi che un valore calcolato prima delal fork sia utilizzabile anche dal figlio nond evi fare niente... Se vuoi invece condividere il valore anche dopo la fork ci sono tanti metodi, ad esempio le pipe o le zone di memoria in comune in cui allocare quella variabile...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 13-05-2003, 09:48   #3
Arpeda
Senior Member
 
L'Avatar di Arpeda
 
Iscritto dal: Nov 2000
Messaggi: 342
vorrei condivedere la variabile anche dopo la fork.

per quanto riguarda il discorso dell'if ...
ho pensato che il figlio riesegue tutto da capo perchè ho fatto questa prova: (ti faccio un sunto)
Codice:
	pid_t pid;
	int pippo=0;
	int *ptr;
	ptr = &pippo;
	if ((pid=fork())==0) {
		printf("valore nel figlio %d", *ptr);
		*ptr = *ptr +1;
		printf("valore nel figlio %d", *ptr);
	} else {
		printf("valore nel padre %d", *ptr);
		*ptr = *ptr +1;
		printf("valore nel padre %d", *ptr);
	}
pensando che l'allocazione del puntatore che punta a pippo rimanesse inalterata nel figlio, evidentemente vengono riallocate anche i puntatori alle variabili. Per quanto riguarda le pipe, ho del materiale da leggere ma quando parli di "le zone di memoria in comune in cui allocare quella variabile" intendi area di memoria condivise da più processi?
Qualche dritta è ben accetta

grazie
Arpeda
__________________
Membro di HWU Scout Group || Quello che ieri era fantascienza oggi è realtà, quello che oggi è realtà domani sarà solo un ricordo ...
Powered by Gentoo 1.4 on kernel 2.6.12.-gentoo-r4
Arpeda è offline   Rispondi citando il messaggio o parte di esso
Old 13-05-2003, 10:05   #4
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Sì...aree di memoria condivise fra più processi...
La fork fa una copia speculare dello stato attuale del processo nel nuovo processo creato... I puntatori pur contendo lo stesso indirizzo puntano a zone di memoria fisica diverse...

Non ti posso consigliare moto perchè non ho mai usato memoria condivisa, ma ho trovato questo link:

http://fscked.org/writings/SHM/shm.html
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Ecovacs Deebot X12 OmniCyclone: lava grazie a FocusJet Ecovacs Deebot X12 OmniCyclone: lava grazie a Fo...
Narwal Flow 2: la pulizia di casa con un mocio a nastro Narwal Flow 2: la pulizia di casa con un mocio a...
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless Tastiera gaming MSI GK600 TKL: switch hot-swap, ...
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici DJI Osmo Pocket 4: la gimbal camera tascabile cr...
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori Sony INZONE H6 Air: il primo headset open-back d...
Renault Twingo: esposta a Milano per far...
Intel vuole cambiare: overclocking anche...
Anche PlayStation introduce la verifica ...
Samsung ed Sk hynix, i bonus per gli ope...
Windows 11 velocizza Esplora File: ecco ...
Funzioni nascoste nelle librerie ADLX Ra...
Itala rinasce: lo storico marchio automo...
Huawei Watch Fit 5 e 5 Pro ufficiali: di...
ECOVACS DEEBOT T90 PRO OMNI vs Roborock ...
Fastweb scompare dai partner Starlink Mo...
Huawei anticipa tutti con Pura X Max: il...
Amazon Tech Week 2026: RTX 5000, process...
Grandi offerte Amazon su scope elettrich...
Amazon e Anthropic rafforzano la partner...
Elden Ring: il film arriverà fra ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 13:33.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v