Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione
HONOR ha finalmente lanciato il suo nuovo flagship: Magic 8 Pro. Lo abbiamo provato a fondo in queste settimane e ve lo raccontiamo nella nostra recensione completa. HONOR rimane fedele alle linee della versione precedente, aggiungendo però un nuovo tasto dedicato all'AI. Ma è al suo interno che c'è la vera rivoluzione grazie al nuovo Snapdragon 8 Elite Gen 5 e alla nuova MagicOS 10
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata
Le webcam Insta360 Link 2 Pro e Link 2C Pro sono una proposta di fascia alta per chi cerca qualità 4K e tracciamento automatico del soggetto senza ricorrere a configurazioni complesse. Entrambi i modelli condividono sensore, ottiche e funzionalità audio avanzate, differenziandosi per il sistema di tracciamento: gimbal a due assi sul modello Link 2 Pro, soluzione digitale sul 2C Pro
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza
Motorola edge 70 porta il concetto di smartphone ultrasottile su un terreno più concreto e accessibile: abbina uno spessore sotto i 6 mm a una batteria di capacità relativamente elevata, un display pOLED da 6,7 pollici e un comparto fotografico triplo da 50 MP. Non punta ai record di potenza, ma si configura come alternativa più pragmatica rispetto ai modelli sottili più costosi di Samsung e Apple
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-01-2008, 11:10   #1
spideylover
Junior Member
 
L'Avatar di spideylover
 
Iscritto dal: Jan 2008
Messaggi: 11
[C] - Programmazione concorrente

Ciao bellissimi!!! Sono una ragazza che sta entrando nel mondo della programmazione. Conosco molto bene il C sotto Unix infatti uso Ubuntu 7.10 Gutsy Gibson. QUello che vorrei è se c'è qualcuno che è bravo in S.O. questa è una materia molto interessante ma sono in una montagna di merda......perchè entro il 22 mi sono accorta che dovevo svolgere da ieri fino al 22 quest'elaborato....mi sono sentita 0....non ho capito bene il concetto di semafori e monitor o meglio non ho capito come implementarli. Ho cercato su internet ma nulla di implementation in C. Potreste darmi una mano per favore?

La prof non è un granchè e non ci ha fornito nessun esempio neanche uno su come svolgere l'elaborato. Infatti ci ha spiegato come funzionano i semafori....e ci ha detto di usare i semafori con thread e monitor con thread....come si implementano? Chi mi può dare una dritta. Intanto vi allego il testo.

Ho trovato anche questo codice ma non so se modificandolo potrebbe andar bene per il progetto.....
eccolo qui:

Codice:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <semaphore.h>
#include <pthread.h>

static sem_t s1,s2;

void *thread1(void *arg)
{
	int i;
	for (i=0;i<10;i++)
	{
	   sem_wait(&s1);
	   printf("Ping\n");
           sem_post(&s2);
        }
	printf("t1 exit\n");
	pthread_exit(0);
}

void *thread2(void *arg)
{
	int i;
	for (i=0;i<10;i++)
	{
	   sem_wait(&s2);
	   printf("Pong\n");
           sem_post(&s1);
        }
	printf("t2 exit\n");
	pthread_exit(0);
}

int main()
{
	pthread_t tid1,tid2;
        void *ret;
        
        sem_init(&s1,0,1);
	sem_init(&s2,0,0);

	if (pthread_create(&tid1,NULL,thread1,NULL) <0)
	{
		fprintf(stderr,"pthread_create error for thread 1\n");
		exit(1);
	}
	if (pthread_create(&tid2,NULL,thread2,NULL) <0)
	{
		fprintf(stderr,"pthread_create error for thread 2\n");
		exit(1);
	}
	
	pthread_join(tid1,&ret);
	pthread_join(tid2,&ret);

	printf("Exit\n");
}
Salvate il file in semthread.c

gcc -o semafori semthread.c -lpthread (Linkaggio librerire del pthread in UNix)

e vedrete che Padre e Figlio giocano a ping pong.....questo l'ho capito ma come si fa a svolgere il progetto?
VI supplico di aiutarmi....sono veramente preoccupata di non farcela....grazie
ciao ciao
Immagini allegate
File Type: pdf concorrenza.pdf (15.0 KB, 22 visite)
spideylover è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2008, 11:27   #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
I monitor in teoria non ci sono, almeno nella implementazione più diffusa dei meccanismi di concorrenza su Linux.
Esistono però le condition che sono la struttura di sincronizzazione che più si avvicina ai monitor: in pratica le condition lavorano su una mutex, prima di chiamare una wait su una condition bisogna acquisire la rispettiva mutex. Eseguendo la wait si rilascia la mutex permettendo ad altri thread in attesa su quella mutex di lavorare.
La condition garantisce che i thread che si bloccano su una data condition vengano risvegliati quando avviene una signal sulla condition con la proprietà della mutex.

Qui una spiegazione più dettagliata della wait: http://cs.pub.ro/~apc/2003/resources...e/users-78.htm
Ovviamente leggi anche quella delle altre funzioni.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2008, 17:06   #3
spideylover
Junior Member
 
L'Avatar di spideylover
 
Iscritto dal: Jan 2008
Messaggi: 11
io c'ho provato ma mi va in...

Ciao ragazzi l'appuntamento della consegna è stato spostato il 25!!!! Che grazie a dio!!! comunque ho provato a buttare giù una cosa del genere:

Codice:
#include <stdio.h>

#include <stdlib.h>

#include <unistd.h>

#include <pthread.h>

#include <semaphore.h>



#define NUM_AIUTANTI 5 //aiutanti

#define NUM_SLITTE 2 //slitte

#define NUM_RENNE 5 //renne sempre in numero pari


#define SPALATE 3

pthread_mutex_t prendi;  //mutex per acquisire i 2 tipi di risorse in mutua esclusione
pthread_mutex_t rilascia; //mutex per rilasciare i 2 tipi di risorse in mutua esclusione

pthread_mutex_t mutex;  //mutex utilizzato UNICAMENTE per l'accesso in mutua esclusione al buffer di output (per mantenere formattato l'output)


sem_t renne;   //semafori inizializzati a G

sem_t slitte;     //semafori inizializzati a P



void *aiutante(void *arg)

{

	int i;

	for(i=0; i<SPALATE; i++)

	{

			

		pthread_mutex_lock(&mutex);

		

		printf("\naiutante n. %d :bevo il caffe\'\n.",arg);   //BEVE IL CAFFE

		
		sleep(1);

		

		pthread_mutex_unlock(&mutex);



		pthread_mutex_lock(&prendi); 

		sem_wait(&renne); //afferra il guanto destro

		sem_wait(&renne); //afferra il guanto sinistro

		sem_wait(&slitte);   //afferra la slitta

		pthread_mutex_unlock(&prendi);  



		pthread_mutex_lock(&mutex);



		printf("\naiutante n. %d : Ho preso renne e slitta!! vado a slittare\n",arg);  //FA QUALCOSA (slitta)

		sleep(1);

		

		pthread_mutex_unlock(&mutex);





		pthread_mutex_lock(&rilascia); 


		sem_post(&renne); //rilascia il guanto destro

		sem_post(&renne); //rilascia il guanto sinistro

		sem_post(&slitte);   //rilascia la slitta


		pthread_mutex_unlock(&rilascia); 

	}

	pthread_exit(NULL);

}









int main()

{

	int i,creazione;

	void* ret;

	pthread_t aiutanti[NUM_AIUTANTI];


	pthread_mutex_init(&mutex,NULL); //INIZIALIZZO I SEMAFORI

	pthread_mutex_init(&prendi,NULL);

	pthread_mutex_init(&rilascia,NULL);


	sem_init(&renne,0,NUM_RENNE); 

	sem_init(&slitte,0,NUM_SLITTE);



	sleep(1);

	printf("           ORE 7:30\n\nGli aiutanti sono arrivati nel cortile e vanno tutti a prendersi un caffe\'\n\n");

	sleep(1);

	printf("Ci sono %d aiutanti, %d slitte e %d paia di renne\n\n", NUM_AIUTANTI, NUM_SLITTE+1, NUM_RENNE+1);

	sleep(1);

	


	for (i=1;i<NUM_AIUTANTI+1;i++) //CREO I THREAD

	{

		creazione = pthread_create(&aiutanti[i],NULL,aiutante,(void*)i);
		if (creazione)
		{
			printf("Error;return code from pthread_create() Is %d\n",creazione);
			exit(-1);
		}

	}



	for (i=1;i<NUM_AIUTANTI+1;i++)

	{

		pthread_join(aiutanti[i],&ret);

	}

	



	for (i=1; i<NUM_AIUTANTI+1; i++)

	{

        	sleep(1);

		printf("\naiutante n. %d :bevo il caffe\'\n.",i);

	}

	sleep(1);

	printf("\n           ORE 12.00\n\nPausa Pranzo, gli aiutanti se ne vanno in mensa\n");

	sleep(1);

	printf("\n           ORE 14.00\n\nEcco gli aiutanti di ritorno, ora un caffe\' e poi al lavoro!!\n");

	sleep(1);

	

	for (i=1;i<NUM_AIUTANTI+1;i++) //CREO I THREAD

	{

		creazione = pthread_create(&aiutanti[i],NULL,aiutante,(void*)i);
		if (creazione)
		{
			printf("Error;return code from pthread_CReate() Is %d\n",creazione);
			exit(-1);
		}

	}


	for (i=1;i<NUM_AIUTANTI+1;i++)

	{

		pthread_join(aiutanti[i],&ret);

	}



	

	for (i=1; i<NUM_AIUTANTI+1; i++)

	{

        	sleep(1);

		printf("\naiutante n. %d :bevo il caffe\'\n.",i);

	}

	

	printf("\n           ORE 17.00\n\nOTTIMO LAVORO!!\n\n La giornata e\' finita... gli aiutanti se ne tornano a casa!!\n\n");

	
	sleep(5);



	pthread_mutex_destroy(&mutex);   // DISTRUGGO TUTTI I SEMAFORI

	pthread_mutex_destroy(&prendi);

	pthread_mutex_destroy(&rilascia);

	sem_destroy(&renne);

	sem_destroy(&slitte);
	
	pthread_exit(NULL);



}

Ho provato a compilarlo. Ma dopo un pò mi va in Segmentation Fault(CORe dumped) che vuol dire? Non mi è mai capitata una roba simile...
Allora provate anche voi per credere:
:read: 

1) prendete il codice
2) salvatelo in aiutanti.c
3) sotto linux compilatelo con il comando gcc -o prova aiutanti.c -lptread

Funziona un pò stranamente ma fino ad un certo punto va in segmentation fault (core dumped)
Cos'è sta storia? Non riesco a capire che cosa intende per segmentation fault.....
Grazie a chi mi aiuta a capire da cosa è dovuto questo errore e interruzione del programma...
Ciao Ciao e BUona DOmenica!!!!
spideylover è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2008, 18:51   #4
maulattu
Senior Member
 
L'Avatar di maulattu
 
Iscritto dal: Mar 2005
Città: ~
Messaggi: 740
Quote:
Originariamente inviato da spideylover Guarda i messaggi
Ciao ragazzi l'appuntamento della consegna è stato spostato il 25!!!! Che grazie a dio!!! comunque ho provato a buttare giù una cosa del genere:

Codice:
#include <stdio.h>

#include <stdlib.h>

#include <unistd.h>

#include <pthread.h>

#include <semaphore.h>



#define NUM_AIUTANTI 5 //aiutanti

#define NUM_SLITTE 2 //slitte

#define NUM_RENNE 5 //renne sempre in numero pari


#define SPALATE 3

pthread_mutex_t prendi;  //mutex per acquisire i 2 tipi di risorse in mutua esclusione
pthread_mutex_t rilascia; //mutex per rilasciare i 2 tipi di risorse in mutua esclusione

pthread_mutex_t mutex;  //mutex utilizzato UNICAMENTE per l'accesso in mutua esclusione al buffer di output (per mantenere formattato l'output)


sem_t renne;   //semafori inizializzati a G

sem_t slitte;     //semafori inizializzati a P



void *aiutante(void *arg)

{

	int i;

	for(i=0; i<SPALATE; i++)

	{

			

		pthread_mutex_lock(&mutex);

		

		printf("\naiutante n. %d :bevo il caffe\'\n.",arg);   //BEVE IL CAFFE

		
		sleep(1);

		

		pthread_mutex_unlock(&mutex);



		pthread_mutex_lock(&prendi); 

		sem_wait(&renne); //afferra il guanto destro

		sem_wait(&renne); //afferra il guanto sinistro

		sem_wait(&slitte);   //afferra la slitta

		pthread_mutex_unlock(&prendi);  



		pthread_mutex_lock(&mutex);



		printf("\naiutante n. %d : Ho preso renne e slitta!! vado a slittare\n",arg);  //FA QUALCOSA (slitta)

		sleep(1);

		

		pthread_mutex_unlock(&mutex);





		pthread_mutex_lock(&rilascia); 


		sem_post(&renne); //rilascia il guanto destro

		sem_post(&renne); //rilascia il guanto sinistro

		sem_post(&slitte);   //rilascia la slitta


		pthread_mutex_unlock(&rilascia); 

	}

	pthread_exit(NULL);

}









int main()

{

	int i,creazione;

	void* ret;

	pthread_t aiutanti[NUM_AIUTANTI];


	pthread_mutex_init(&mutex,NULL); //INIZIALIZZO I SEMAFORI

	pthread_mutex_init(&prendi,NULL);

	pthread_mutex_init(&rilascia,NULL);


	sem_init(&renne,0,NUM_RENNE); 

	sem_init(&slitte,0,NUM_SLITTE);



	sleep(1);

	printf("           ORE 7:30\n\nGli aiutanti sono arrivati nel cortile e vanno tutti a prendersi un caffe\'\n\n");

	sleep(1);

	printf("Ci sono %d aiutanti, %d slitte e %d paia di renne\n\n", NUM_AIUTANTI, NUM_SLITTE+1, NUM_RENNE+1);

	sleep(1);

	


	for (i=1;i<NUM_AIUTANTI+1;i++) //CREO I THREAD

	{

		creazione = pthread_create(&aiutanti[i],NULL,aiutante,(void*)i);
		if (creazione)
		{
			printf("Error;return code from pthread_create() Is %d\n",creazione);
			exit(-1);
		}

	}



	for (i=1;i<NUM_AIUTANTI+1;i++)

	{

		pthread_join(aiutanti[i],&ret);

	}

	



	for (i=1; i<NUM_AIUTANTI+1; i++)

	{

        	sleep(1);

		printf("\naiutante n. %d :bevo il caffe\'\n.",i);

	}

	sleep(1);

	printf("\n           ORE 12.00\n\nPausa Pranzo, gli aiutanti se ne vanno in mensa\n");

	sleep(1);

	printf("\n           ORE 14.00\n\nEcco gli aiutanti di ritorno, ora un caffe\' e poi al lavoro!!\n");

	sleep(1);

	

	for (i=1;i<NUM_AIUTANTI+1;i++) //CREO I THREAD

	{

		creazione = pthread_create(&aiutanti[i],NULL,aiutante,(void*)i);
		if (creazione)
		{
			printf("Error;return code from pthread_CReate() Is %d\n",creazione);
			exit(-1);
		}

	}


	for (i=1;i<NUM_AIUTANTI+1;i++)

	{

		pthread_join(aiutanti[i],&ret);

	}



	

	for (i=1; i<NUM_AIUTANTI+1; i++)

	{

        	sleep(1);

		printf("\naiutante n. %d :bevo il caffe\'\n.",i);

	}

	

	printf("\n           ORE 17.00\n\nOTTIMO LAVORO!!\n\n La giornata e\' finita... gli aiutanti se ne tornano a casa!!\n\n");

	
	sleep(5);



	pthread_mutex_destroy(&mutex);   // DISTRUGGO TUTTI I SEMAFORI

	pthread_mutex_destroy(&prendi);

	pthread_mutex_destroy(&rilascia);

	sem_destroy(&renne);

	sem_destroy(&slitte);
	
	pthread_exit(NULL);



}

Ho provato a compilarlo. Ma dopo un pò mi va in Segmentation Fault(CORe dumped) che vuol dire? Non mi è mai capitata una roba simile...
Allora provate anche voi per credere:
:read: 

1) prendete il codice
2) salvatelo in aiutanti.c
3) sotto linux compilatelo con il comando gcc -o prova aiutanti.c -lptread

Funziona un pò stranamente ma fino ad un certo punto va in segmentation fault (core dumped)
Cos'è sta storia? Non riesco a capire che cosa intende per segmentation fault.....
Grazie a chi mi aiuta a capire da cosa è dovuto questo errore e interruzione del programma...
Ciao Ciao e BUona DOmenica!!!!
Ciao,
in C (e anche C++) devi fare mooooolta attenzione all'uso degli indici degli array.
ci sono array definiti come
pthread_t aiutanti[NUM_AIUTANTI];
cioè composti da NUM_AIUTANTI "celle" che vanno da 0 a NUM_AIUTANTI - 1. L'errore che hai commesso è nei cicli for che vanno da 1 a NUM_AIUTANTI. Devi farli partire da 0 e farli terminare a NUM_AIUTANTI - 1.
Ti dà il segmentation fault xkè il tuo programma ha sfondato in un'area di memoria non di sua competenza, alché il kernel è arrivato è gli ha spezzato le gambine
__________________
Ciao ciao cagnolino Billy
MacMini late 2009, 2.53GHz, 4GB ram, 320GB hard disk, Snow Leopard 10.8.2 - iPod Nano 6th gen.
XBOX Live GamerTag: InsaneMau
maulattu è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2008, 22:29   #5
spideylover
Junior Member
 
L'Avatar di spideylover
 
Iscritto dal: Jan 2008
Messaggi: 11
Quote:
Originariamente inviato da maulattu Guarda i messaggi
Ciao,
in C (e anche C++) devi fare mooooolta attenzione all'uso degli indici degli array.
ci sono array definiti come
pthread_t aiutanti[NUM_AIUTANTI];
cioè composti da NUM_AIUTANTI "celle" che vanno da 0 a NUM_AIUTANTI - 1. L'errore che hai commesso è nei cicli for che vanno da 1 a NUM_AIUTANTI. Devi farli partire da 0 e farli terminare a NUM_AIUTANTI - 1.
Ti dà il segmentation fault xkè il tuo programma ha sfondato in un'area di memoria non di sua competenza, alché il kernel è arrivato è gli ha spezzato le gambine

Quindi era solo quello l'errore? Sicuro?
L'hai provato? Io lo provo....Mi sento così insicura....boh adesso vedrò speriam bene....se no
spideylover è offline   Rispondi citando il messaggio o parte di esso
Old 21-01-2008, 00:54   #6
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
Mi spieghi cosa sono le SPALATE che si trovano nel codice, mentre nel testo non c'è alcun riferimento ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 21-01-2008, 09:29   #7
spideylover
Junior Member
 
L'Avatar di spideylover
 
Iscritto dal: Jan 2008
Messaggi: 11
beh

beh mi sono sbagliata a lasciarlo perchè ne dovevo fare un'altro prima di questo provandolo con i monitor (ma da lo stesso errore ) ....e allora senza riscrivere tutto il codice l'ho copiato tutto e poi modificato. COmunque sia non
sento che non ce la farò....domani ho l'esame di programmazione in C....e entro il 25 è la consegna dell'elaborato...non riesco a fare tutto tutto...vedrò di dedicare il tempo a programmazione

Ultima modifica di spideylover : 21-01-2008 alle 09:32.
spideylover è offline   Rispondi citando il messaggio o parte di esso
Old 21-01-2008, 09:50   #8
spideylover
Junior Member
 
L'Avatar di spideylover
 
Iscritto dal: Jan 2008
Messaggi: 11
si è vero

ringrazio vivamente con un mega bacio alla francese a maulattu!!!!!!! Grazie Grazie Grazie!!!!!!!!!!!!!! Che che sono! Non ci avevo fatto caso......e poi i cicli però volevo partire da 1 perchè se no che centra aiutante 0?

Per cionci...lascia stare
bada a chiudere il topic!!!
spideylover è offline   Rispondi citando il messaggio o parte di esso
Old 21-01-2008, 09:57   #9
spideylover
Junior Member
 
L'Avatar di spideylover
 
Iscritto dal: Jan 2008
Messaggi: 11
EHm maulattu ehm bello l'avatar ma ho la sensazione che sia andato in Paradiso vero....povero cagnolino è anche così bello....mi dispiace per te....io ne ho uno bianco maltese che anche lui è vecchietto e mi dispiace molto che gli fa male tutte le ossette....si chiama Pepe....ciao ciao e grazie dell'aiuto.....
spideylover è offline   Rispondi citando il messaggio o parte di esso
Old 21-01-2008, 10:11   #10
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
Quote:
Originariamente inviato da spideylover Guarda i messaggi
beh mi sono sbagliata a lasciarlo perchè ne dovevo fare un'altro prima di questo provandolo con i monitor
Però non c'è solo il define, lo usi anche nel codice facendo fare tre cicli dentro al thread.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 21-01-2008, 19:35   #11
maulattu
Senior Member
 
L'Avatar di maulattu
 
Iscritto dal: Mar 2005
Città: ~
Messaggi: 740
Quote:
Originariamente inviato da spideylover;
ringrazio vivamente con un mega bacio alla francese a maulattu
grazie

Quote:
Originariamente inviato da spideylover Guarda i messaggi
EHm maulattu ehm bello l'avatar ma ho la sensazione che sia andato in Paradiso vero....povero cagnolino è anche così bello....mi dispiace per te....io ne ho uno bianco maltese che anche lui è vecchietto e mi dispiace molto che gli fa male tutte le ossette....si chiama Pepe....ciao ciao e grazie dell'aiuto.....
Già... è passato a miglior vita nel luglio del 2006... era tanto bellino e coccolone
http://www.hwupgrade.it/forum/showthread.php?t=1238758


Fine OT
__________________
Ciao ciao cagnolino Billy
MacMini late 2009, 2.53GHz, 4GB ram, 320GB hard disk, Snow Leopard 10.8.2 - iPod Nano 6th gen.
XBOX Live GamerTag: InsaneMau
maulattu è offline   Rispondi citando il messaggio o parte di esso
Old 22-01-2008, 12:48   #12
spideylover
Junior Member
 
L'Avatar di spideylover
 
Iscritto dal: Jan 2008
Messaggi: 11
si ma il programma sembra non funzionare come dovrebbe. Sono in tilt. NOn capisco più niente. Oggi mi sono fatta prendere dalla paura per l'esame e credo di averlo bucato....comunque....non ho ben capito forse o meglio non ho ben implpementato bene i due elaborati...potreste darmi una mano urgente....in questi 2 giorni? VI chiedo solo una mano....non di +...grazie...


In allegato ci sono gli spalatori e il testo originale degli spalatori ce come vedrete è simile a quello che dovrei fare.

Il testo vel lo posto dopo sono di corsa per il treno
Allegati
File Type: zip Esempi.zip (2.6 KB, 3 visite)
File Type: gz Esempi.tar.gz (1.6 KB, 3 visite)
spideylover è offline   Rispondi citando il messaggio o parte di esso
Old 23-01-2008, 22:42   #13
spideylover
Junior Member
 
L'Avatar di spideylover
 
Iscritto dal: Jan 2008
Messaggi: 11
Il testo è uguale a quello di babbonatale ma solo che al posto degli spalatori in quelli dell'allegato. Grazie
Ciao Ciao Bellissimi sono triste....c'è solo domani.. e poi plz
spideylover è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2008, 16:27   #14
spideylover
Junior Member
 
L'Avatar di spideylover
 
Iscritto dal: Jan 2008
Messaggi: 11
spideylover è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2008, 16:57   #15
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Come è andata?
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2008, 19:41   #16
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
esprimo un significativo ROLLEYES: -->
71104 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione HONOR Magic 8 Pro: ecco il primo TOP del 2026! L...
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata Insta360 Link 2 Pro e 2C Pro: le webcam 4K che t...
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza Motorola edge 70: lo smartphone ultrasottile che...
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026 Display, mini PC, periferiche e networking: le n...
Le novità ASUS per il 2026 nel settore dei PC desktop Le novità ASUS per il 2026 nel settore de...
Dreame taglia i prezzi su Amazon: L40 Ul...
ChatGPT, arrivano gli annunci pubblicita...
iPhone Air a un nuovo minimo storico su ...
Datacenter e materie prime: Amazon acqui...
StackWarp: una nuova vulnerabilità...
Il telescopio spaziale James Webb ha cat...
Il razzo spaziale europeo Ariane 6 lance...
Il lander lunare Blue Origin Blue Moon M...
Gli LLM riescono a risolvere problemi ma...
Smettila con quei cioccolatini. Per San ...
Il secondo lancio del razzo spaziale eur...
MaiaSpace ed Eutelsat stringono un accor...
Motorola edge 60 neo sorprende: compatto...
Zeekr 007 e 007GT si aggiornano: piattaf...
ASUS ROG Swift OLED PG27AQWP-W: 720 Hz e...
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: 09:56.


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