Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare
Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare
Realizzato da Lenovo e installato presso il Cineca di Casalecchio di Reno, Pitagora offre circa 44 PFlop/s di potenza di calcolo ed è dedicato alla simulazione della fisica del plasma e allo studio dei materiali avanzati per la fusione, integrandosi nell’ecosistema del Tecnopolo di Bologna come infrastruttura strategica finanziata da EUROfusion e gestita in collaborazione con ENEA
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA
Rullo di lavaggio dei pavimenti abbinato a un potente motore da 28.000 Pa e a bracci esterni che si estendono: queste, e molte altre, le caratteristiche tecniche di Z60 Ultra Roller Complete, l'ultimo robot di Mova che pulisce secondo le nostre preferenze oppure lasciando far tutto alla ricca logica di intelligenza artificiale integrata
Renault Twingo E-Tech Electric: che prezzo!
Renault Twingo E-Tech Electric: che prezzo!
Renault annuncia la nuova vettura compatta del segmento A, che strizza l'occhio alla tradizione del modello abbinandovi una motorizzazione completamente elettrica e caratteristiche ideali per i tragitti urbani. Renault Twingo E-Tech Electric punta su abitabilità, per una lunghezza di meno di 3,8 metri, abbinata a un prezzo di lancio senza incentivi di 20.000€
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 29-03-2012, 17:58   #1
DomusP45
Senior Member
 
L'Avatar di DomusP45
 
Iscritto dal: Apr 2010
Città: Whiterun
Messaggi: 580
[C++] creare un array unsigned char concatenato

Salve a tutti.

Vi posto questa domanda più specifica di come è stata trattata da altre parti, con la speranza che qualcuno mi sappia aiutare.

Come si fa il concatenamento di array "unsigned char"??

Non è possibile farlo con strcat, perchè non sono caratteri, ma debbono rimanere byte...quindi non mi dite di fare stringhe di caratteri o altro, perchè si perde il valore di quello che contiene il vettore, cioè bit.

Nè penso si possa usare un casting, perchè complica le cose dopo nel ritornare unsigned, tipo come mi è stato detto da un'altra parte fare una strcat((char*)vett1,(char*)vett2) dove vett1 e vett2 sono unsigned.

Vi spiego con un esempio di cosa ho e cosa voglio: Devo inviare un buffer unsigned char da 8 byte. Però devo ottenerlo da diversi piccoli array sempre unsigned. In pratica, ad esempio ho:

unsigned char DLEN[1]={0x01};
unsigned char CMD[1]={0x05};
unsigned char DATA[4]={0x00,0x92,0x4f,0x81}
unsigned char CRC[2]={0x92,0x31}

e devo ottenere

unsigned char buffer[8]={0x01,0x05,0x00,0x92,0x4f,0x81,0x92,0x31}

E' così che deve essere il risultato.

Come si fa? Come è possibile ottenere una cosa del genere??Aiutatemi!
__________________
Come la chiami la chiami, la cocozza sempre cocozza è.
DomusP45 è offline   Rispondi citando il messaggio o parte di esso
Old 29-03-2012, 19:44   #2
ESSE-EFFE
Member
 
Iscritto dal: May 2009
Messaggi: 186
Quote:
Originariamente inviato da DomusP45 Guarda i messaggi
unsigned char DLEN[1]={0x01};
unsigned char CMD[1]={0x05};
unsigned char DATA[4]={0x00,0x92,0x4f,0x81}
unsigned char CRC[2]={0x92,0x31}

e devo ottenere

unsigned char buffer[8]={0x01,0x05,0x00,0x92,0x4f,0x81,0x92,0x31}
Quello che ti hanno suggerito non è sbagliato, nel senso che sia una stringa o un array, signed o unsigned, il valore dei byte non cambia. Tuttavia considerarli stringhe non ha molto senso e potresti avere problemi col terminatore nullo.

Copia semplicemente i vari array nell'array finale, o assegnando direttamente il valore (buffer[0] = DLEN[0]) oppure tramite memcpy, campo per campo, tenendo traccia di dove stai copiando tramite un puntatore (puoi farti una funzione per generalizzare la cosa ovviamente).

Ancora meglio sarebbe tenere i 4 campi in una struttura (allineata al byte). In quel modo ti basta una memcpy e la cosa risulta decisamente più elegante.
__________________
ESSE-EFFE.com
Sviluppo software e Web
Creazione loghi - Bergamo
ESSE-EFFE è offline   Rispondi citando il messaggio o parte di esso
Old 29-03-2012, 20:55   #3
__ZERO_UNO__
Member
 
L'Avatar di __ZERO_UNO__
 
Iscritto dal: Jul 2009
Città: Milano
Messaggi: 270
Come ti ha suggerito ESSE-EFFE, bit fields: http://msdn.microsoft.com/en-us/libr...=vs.71%29.aspx

Comunque se fai il cast utilizzando static_cast non cambiano i bit ma solo l'interpretazione.
__________________

AMD PII x4 955 BE | Sapphire HD4850 Vapor-X 1 GB | Samsung SpinPoint F1 500GB | Samsung EcoGreen F4 2TB
Gigabyte GA-MA790FXT-UD5P | Fractal Design Define R3 USB3.0 Titanium Grey | CORSAIR 650W CMPSU-650TX
Noctua U12P SE2 | 2 x 2GB Kingston 1333 MHz | Samsung SyncMaster P2450 | Samsung SyncMaster T200
__ZERO_UNO__ è offline   Rispondi citando il messaggio o parte di esso
Old 29-03-2012, 20:58   #4
ESSE-EFFE
Member
 
Iscritto dal: May 2009
Messaggi: 186
Quote:
Originariamente inviato da __ZERO_UNO__ Guarda i messaggi
Come ti ha suggerito ESSE-EFFE, bit fields: http://msdn.microsoft.com/en-us/libr...=vs.71%29.aspx
No, scusami, ma io non ho suggerito i bit fields. Anche perchè non è quello che serve all'OP.
__________________
ESSE-EFFE.com
Sviluppo software e Web
Creazione loghi - Bergamo
ESSE-EFFE è offline   Rispondi citando il messaggio o parte di esso
Old 29-03-2012, 21:00   #5
__ZERO_UNO__
Member
 
L'Avatar di __ZERO_UNO__
 
Iscritto dal: Jul 2009
Città: Milano
Messaggi: 270
Ho travisato l'uso della struttura. :P
Però se mette i quattro unsigned char in un int dentro una struttura ottiene una singola word con tutti i bit configurati come vuole.

Ah già, lui vuole un unsigned char .....
__________________

AMD PII x4 955 BE | Sapphire HD4850 Vapor-X 1 GB | Samsung SpinPoint F1 500GB | Samsung EcoGreen F4 2TB
Gigabyte GA-MA790FXT-UD5P | Fractal Design Define R3 USB3.0 Titanium Grey | CORSAIR 650W CMPSU-650TX
Noctua U12P SE2 | 2 x 2GB Kingston 1333 MHz | Samsung SyncMaster P2450 | Samsung SyncMaster T200

Ultima modifica di __ZERO_UNO__ : 29-03-2012 alle 21:09.
__ZERO_UNO__ è offline   Rispondi citando il messaggio o parte di esso
Old 29-03-2012, 21:39   #6
DomusP45
Senior Member
 
L'Avatar di DomusP45
 
Iscritto dal: Apr 2010
Città: Whiterun
Messaggi: 580
Ok, penso di aver capito l'antifona...devo fare delle prove....ed il bello è, che alcuni di questi unsigned char devono essere immessi da tastiera da un probabile utente, pertanto, come mi consigliate di farglieli acquisire?

Nel senso: messo che devo far mettere al mio utente 4 di quei bit, avevo pensato a cin.getline, però non so se ottengo quello che mi serve, l'utente dovrebbe inserirli con lo spazio, o con la virgola tra loro?

Che tipo uso per l'introduzione? Cosa gli faccio acqusire un int e poi lo devo trasformare in esadecimale? (quei 4 bit dovrebbero rappresentare una posizione in mm o una corrente in mA) Oppure devo fargli introdurre direttamente un unsigned char pezzo a pezzo (4 volte quindi).
__________________
Come la chiami la chiami, la cocozza sempre cocozza è.
DomusP45 è offline   Rispondi citando il messaggio o parte di esso
Old 30-03-2012, 09:15   #7
ESSE-EFFE
Member
 
Iscritto dal: May 2009
Messaggi: 186
Quote:
Originariamente inviato da DomusP45 Guarda i messaggi
Nel senso: messo che devo far mettere al mio utente 4 di quei bit, avevo pensato a cin.getline, però non so se ottengo quello che mi serve, l'utente dovrebbe inserirli con lo spazio, o con la virgola tra loro?
Non sono bit, sono byte. Non complicherei la cosa: se servono 4 dati farai inserire 4 dati, senza virgole o sintassi particolari.

Quote:
Originariamente inviato da DomusP45 Guarda i messaggi
Che tipo uso per l'introduzione? Cosa gli faccio acqusire un int e poi lo devo trasformare in esadecimale? (quei 4 bit dovrebbero rappresentare una posizione in mm o una corrente in mA) Oppure devo fargli introdurre direttamente un unsigned char pezzo a pezzo (4 volte quindi).
L'immissione non può che avvenire tramite caratteri ASCII. Vista la natura di quei valori, dei numeri decimali mi sembrano appropriati, cioè se devono essere 234 mA direi che è opportuno che l'utente inserisca proprio "234". E poi ti basta convertire in intero e memorizzare il dato nella posizione corretta dell'array.
__________________
ESSE-EFFE.com
Sviluppo software e Web
Creazione loghi - Bergamo
ESSE-EFFE è offline   Rispondi citando il messaggio o parte di esso
Old 30-03-2012, 10:04   #8
DomusP45
Senior Member
 
L'Avatar di DomusP45
 
Iscritto dal: Apr 2010
Città: Whiterun
Messaggi: 580
Quote:
Originariamente inviato da ESSE-EFFE Guarda i messaggi
Non sono bit, sono byte. Non complicherei la cosa: se servono 4 dati farai inserire 4 dati, senza virgole o sintassi particolari.
Quindi gli dico qualcosa come immetti il primo valore: , ENTER, Immetti il secondo valore: " ecc...oppure

"Immetti i parametri : " e l'utente scrive "00 00 41 22" ?

Quote:
Originariamente inviato da ESSE-EFFE Guarda i messaggi
L'immissione non può che avvenire tramite caratteri ASCII. Vista la natura di quei valori, dei numeri decimali mi sembrano appropriati, cioè se devono essere 234 mA direi che è opportuno che l'utente inserisca proprio "234". E poi ti basta convertire in intero e memorizzare il dato nella posizione corretta dell'array.
Mmmm...sai cos'è che questi benedetti 4 bit non sono poi l'equivalente del valore in esadecimale, ma anche qualcos'altro. Ho chiesto delucidazioni alla casa madre della pinza, e resto in attesa che mi facciano sapere...certo è che facendo le conversioni (con alcuni esempi che portano sul manuale) non mi trovo proprio con i valori...questi 4 bit potrebbero essere anche indicativi di altro, tipo velocità, corrente, tipo di movimento...e quindi su questo ho ancora il dubbio.

Quello che non mi è chiaro è: ma se all'utente è chiesto di immettere un valore, e l'utente immette "12" (immissione classica cin>>i , con i di tipo int) quando vado a copiarlo nella posizione "tot" dell'array unsigned char, il compilatore in fase di runtime converte automaticamente il valore in byte? Nella sua rappresentazione esadecimale? Cioè mi ritroverò dentro all'array il valore "0C"? Perchè è sta cosa che non capisco bene...
__________________
Come la chiami la chiami, la cocozza sempre cocozza è.
DomusP45 è offline   Rispondi citando il messaggio o parte di esso
Old 30-03-2012, 10:10   #9
ESSE-EFFE
Member
 
Iscritto dal: May 2009
Messaggi: 186
Quote:
Originariamente inviato da DomusP45 Guarda i messaggi
Quindi gli dico qualcosa come immetti il primo valore: , ENTER, Immetti il secondo valore: " ecc...oppure

"Immetti i parametri : " e l'utente scrive "00 00 41 22" ?
Supponi che sia tu ad immetterli... come preferiresti farlo? Ecco, dai all'utente la stessa possibilità.

Quote:
Originariamente inviato da DomusP45 Guarda i messaggi
Mmmm...sai cos'è che questi benedetti 4 bit non sono poi l'equivalente del valore in esadecimale, ma anche qualcos'altro.
Sono byte, non bit. Ma comunque questo fa parte del protocollo, non c'entra con l'input. Prendi i dati dall'utente e adattali di conseguenza.

Quote:
Originariamente inviato da DomusP45 Guarda i messaggi
Quello che non mi è chiaro è: ma se all'utente è chiesto di immettere un valore, e l'utente immette "12" (immissione classica cin>>i , con i di tipo int) quando vado a copiarlo nella posizione "tot" dell'array unsigned char, il compilatore in fase di runtime converte automaticamente il valore in byte? Nella sua rappresentazione esadecimale? Cioè mi ritroverò dentro all'array il valore "0C"? Perchè è sta cosa che non capisco bene...
Ovviamente servirà una conversione da ASCII ad intero. Poi dire che in memoria c'è 12 o 0x0C è la stessa cosa, cambia la rappresentazione. Se non ti è chiaro, fai qualche prova.
__________________
ESSE-EFFE.com
Sviluppo software e Web
Creazione loghi - Bergamo
ESSE-EFFE è offline   Rispondi citando il messaggio o parte di esso
Old 30-03-2012, 10:12   #10
!fazz
Moderatore
 
L'Avatar di !fazz
 
Iscritto dal: Nov 2006
Messaggi: 21840
ti mancano proprio le basi

comunque

1) mai usare cin per acquisire un intero se per sbaglio l'utente preme una lettera il programma crasha

2)acquisisci una stringa di testo con cin.getline, la converti in un intero con atoi mentre per scriverla in esadecimale nel vettore usa sprintf, se invece lavori su un output (es file o file di periferica) puoi usare tranquillamente hex
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX)
Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000
!fazz è offline   Rispondi citando il messaggio o parte di esso
Old 30-03-2012, 10:19   #11
ESSE-EFFE
Member
 
Iscritto dal: May 2009
Messaggi: 186
Quote:
Originariamente inviato da !fazz Guarda i messaggi
2)acquisisci una stringa di testo con cin.getline, la converti in un intero con atoi mentre per scriverla in esadecimale nel vettore usa sprintf
Non deve convertire il dato in esadecimale per scriverlo nel vettore.
__________________
ESSE-EFFE.com
Sviluppo software e Web
Creazione loghi - Bergamo
ESSE-EFFE è offline   Rispondi citando il messaggio o parte di esso
Old 30-03-2012, 10:25   #12
DomusP45
Senior Member
 
L'Avatar di DomusP45
 
Iscritto dal: Apr 2010
Città: Whiterun
Messaggi: 580
a me mancheranno anche le basi, ma a quanto pare non c'è accordo su questa cosa.

Anche perchè sprintf io l'ho usata e con l'unsigned char non ci vuole avere a che fare...insomma, mi creava all'interno del vettore simboli strani...eppure mi sono visto la guida reference su sito cplusplus, è un'ottima funzione per l'output, personalizzabile persino quante cifre prima e dopo lo zero, però è per stringhe, caratteri...qua invece devono essere byte.

Qualcuno mi dice una volta per tutte in modo chiaro, se devo convertire l'intero acquisito prima di immetterlo nel vettore, oppure posso fare direttamente l'assegnazione e ritrovarmelo (quando vado ad inviarlo alla porta seriale) nel formato corretto?
__________________
Come la chiami la chiami, la cocozza sempre cocozza è.
DomusP45 è offline   Rispondi citando il messaggio o parte di esso
Old 30-03-2012, 10:31   #13
ESSE-EFFE
Member
 
Iscritto dal: May 2009
Messaggi: 186
Quote:
Originariamente inviato da DomusP45 Guarda i messaggi
Qualcuno mi dice una volta per tutte in modo chiaro, se devo convertire l'intero acquisito prima di immetterlo nel vettore, oppure posso fare direttamente l'assegnazione e ritrovarmelo (quando vado ad inviarlo alla porta seriale) nel formato corretto?
Non lo devi convertire. Vuoi toglierti il dubbio? Prova...
__________________
ESSE-EFFE.com
Sviluppo software e Web
Creazione loghi - Bergamo
ESSE-EFFE è offline   Rispondi citando il messaggio o parte di esso
Old 30-03-2012, 10:34   #14
DomusP45
Senior Member
 
L'Avatar di DomusP45
 
Iscritto dal: Apr 2010
Città: Whiterun
Messaggi: 580
Quote:
Originariamente inviato da ESSE-EFFE Guarda i messaggi
Non lo devi convertire. Vuoi toglierti il dubbio? Prova...
grazie mille esse-effe. Tra poco prendo il treno e parto, sarò in laboratorio per le 12...e faccio tutte le prove del caso...se non ho problemi, probabilmente avrò risolto una parte delle cose, con questo sistema...altrimenti, ti contatto!

buona giornata!!
__________________
Come la chiami la chiami, la cocozza sempre cocozza è.
DomusP45 è offline   Rispondi citando il messaggio o parte di esso
Old 30-03-2012, 10:39   #15
ESSE-EFFE
Member
 
Iscritto dal: May 2009
Messaggi: 186
Quote:
Originariamente inviato da DomusP45 Guarda i messaggi
Tra poco prendo il treno e parto, sarò in laboratorio per le 12...e faccio tutte le prove del caso...
Cioè per provare a scrivere un numero in un array devi prendere il treno?
__________________
ESSE-EFFE.com
Sviluppo software e Web
Creazione loghi - Bergamo
ESSE-EFFE è offline   Rispondi citando il messaggio o parte di esso
Old 30-03-2012, 12:39   #16
DomusP45
Senior Member
 
L'Avatar di DomusP45
 
Iscritto dal: Apr 2010
Città: Whiterun
Messaggi: 580
Quote:
Originariamente inviato da ESSE-EFFE Guarda i messaggi
Cioè per provare a scrivere un numero in un array devi prendere il treno?
Viaggio per andare in laboratorio...tutto il materiale sta nel pc in laboratorio...poi devo provare con la pinza o no?

Al volo al volo, mi dici una cosa? Come faccio la conversione da unsigned char a float? Il casting per avere a video il valore in float di un array unsigned char come si fa??
__________________
Come la chiami la chiami, la cocozza sempre cocozza è.
DomusP45 è offline   Rispondi citando il messaggio o parte di esso
Old 30-03-2012, 13:17   #17
ESSE-EFFE
Member
 
Iscritto dal: May 2009
Messaggi: 186
Quote:
Originariamente inviato da DomusP45 Guarda i messaggi
Viaggio per andare in laboratorio...tutto il materiale sta nel pc in laboratorio...poi devo provare con la pinza o no?
Per provare quello di cui non eri sicuro la pinza non serve, neanche volendo testare l'invio seriale...

Quote:
Originariamente inviato da DomusP45 Guarda i messaggi
Come faccio la conversione da unsigned char a float? Il casting per avere a video il valore in float di un array unsigned char come si fa??
Il valore "float" di un "unsigned char" è ancora lo stesso valore.
__________________
ESSE-EFFE.com
Sviluppo software e Web
Creazione loghi - Bergamo
ESSE-EFFE è offline   Rispondi citando il messaggio o parte di esso
Old 30-03-2012, 13:22   #18
DomusP45
Senior Member
 
L'Avatar di DomusP45
 
Iscritto dal: Apr 2010
Città: Whiterun
Messaggi: 580
Quote:
Originariamente inviato da ESSE-EFFE Guarda i messaggi

Il valore "float" di un "unsigned char" è ancora lo stesso valore.
OK, nella pratica, devo verificare se questo array è un float, nel senso che devo sapere quanto vale:

unsigned char dat[]={0x00 ,0x00 ,0x20 ,0x41}

dovrebbe corrispondere all'invio di "posizione 10 mm" come faccio a vedere se corrisponde a 10 (mm) oppure a 10x10-3 (ad esempio)?
__________________
Come la chiami la chiami, la cocozza sempre cocozza è.
DomusP45 è offline   Rispondi citando il messaggio o parte di esso
Old 30-03-2012, 13:42   #19
ESSE-EFFE
Member
 
Iscritto dal: May 2009
Messaggi: 186
Quote:
Originariamente inviato da DomusP45 Guarda i messaggi
OK, nella pratica, devo verificare se questo array è un float, nel senso che devo sapere quanto vale:

unsigned char dat[]={0x00 ,0x00 ,0x20 ,0x41}

dovrebbe corrispondere all'invio di "posizione 10 mm" come faccio a vedere se corrisponde a 10 (mm) oppure a 10x10-3 (ad esempio)?
Questo però mi sembra un problema che non ha nulla a che vedere con il discorso iniziale.
__________________
ESSE-EFFE.com
Sviluppo software e Web
Creazione loghi - Bergamo
ESSE-EFFE è offline   Rispondi citando il messaggio o parte di esso
Old 30-03-2012, 13:53   #20
WarDuck
Senior Member
 
L'Avatar di WarDuck
 
Iscritto dal: May 2001
Messaggi: 12862
Quote:
Originariamente inviato da DomusP45 Guarda i messaggi
Viaggio per andare in laboratorio...tutto il materiale sta nel pc in laboratorio...poi devo provare con la pinza o no?

Al volo al volo, mi dici una cosa? Come faccio la conversione da unsigned char a float? Il casting per avere a video il valore in float di un array unsigned char come si fa??
Cosa intendi di preciso?

Partiamo dalla teoria:

Dimensioni dei tipi (dando per buona l'architettura a 32bit):
Codice:
char       8 bit    1 byte

int        32 bit  4 bytes
long long  64 bit  8 bytes

float      32 bit  4 bytes
double     64 bit  8 bytes
Ciò significa che in ogni istante puoi vedere un numero intero (ad esempio) come una sequenza di 4 bytes, in un dato ordine.

Ciò significa anche che questi 4 bytes possono essere interpretati come float.

Tutto dipende da come dici tu di leggere quella sequenza di byte:

Codice:
unsigned char Buffer[] = { 0x00, 0x00, 0x01, 0x01 };

float* F = (float*) Buffer;

int* I = (int*) Buffer;

printf("Buffer float %f\n", *F);
printf("Buffer int %d\n", *I);
Sempre che questo sia quello che vuoi fare.

Altrimenti basta un semplice cast, ma ottieni lo stesso valore, come diceva ESSE-EFFE.

Ultima modifica di WarDuck : 30-03-2012 alle 15:31.
WarDuck è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare Cineca inaugura Pitagora, il supercomputer Lenov...
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA Mova Z60 Ultra Roller Complete: pulisce bene gra...
Renault Twingo E-Tech Electric: che prezzo! Renault Twingo E-Tech Electric: che prezzo!
Il cuore digitale di F1 a Biggin Hill: l'infrastruttura Lenovo dietro la produzione media Il cuore digitale di F1 a Biggin Hill: l'infrast...
DJI Osmo Mobile 8: lo stabilizzatore per smartphone con tracking multiplo e asta telescopica DJI Osmo Mobile 8: lo stabilizzatore per smartph...
Samsung Galaxy S26 Ultra: una sola novit...
Google prepara Gemini 3 Pro e Nano Banan...
TVS non è solo moto e scooter: ec...
Alexa+ arriva su BMW: gli automobilisti ...
Gemini Deep Research arriva su Google Fi...
Rinvii a catena, Marvel 1943: Rise of Hy...
Xiaomi inaugura uno spazio dedicato ai f...
Rilasciate le specifiche di Bluetooth 6....
L'obiettivo che mette tutto a fuoco: la ...
Meta avrebbe raccolto fino al 10% dei ri...
NVIDIA DGX Spark e videogiochi? Una pess...
Serie Oppo Reno15 confermata: arriva il ...
UPDF 2025: l'editor PDF che fa (quasi) t...
Partono altri sconti pesanti su Amazon, ...
OpenAI senza freni: centinaia di miliard...
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: 17:37.


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