Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Due mesi di Battlefield 6: dalla campagna al battle royale, è l'FPS che stavamo aspettando
Due mesi di Battlefield 6: dalla campagna al battle royale, è l'FPS che stavamo aspettando
Abbiamo giocato a lungo a Battlefield 6, abbiamo provato tutte le modalità multiplayer, Redsec, e le numerose personalizzazioni. In sintesi, ci siamo concentrati su ogni aspetto del titolo per comprendere al meglio uno degli FPS più ambiziosi della storia dei videogiochi e, dopo quasi due mesi, abbiamo tirato le somme. In questo articolo, condividiamo con voi tutto ciò che è Battlefield 6, un gioco che, a nostro avviso, rappresenta esattamente ciò che questo genere attendeva da tempo
Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare
Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare
Abbiamo messo alla prova il drone Antigravity A1 capace di riprese in 8K a 360° che permette un reframe in post-produzione ad eliche ferme. Il concetto è molto valido, permette al pilota di concentrarsi sul volo e le manovre in tutta sicurezza e decidere con tutta tranquillità come gestire le riprese. La qualità dei video, tuttavia, ha bisogno di uno step in più per essere competitiva
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Dopo oltre 4 anni si rinnova la serie Sony Alpha 7 con la quinta generazione, che porta in dote veramente tante novità a partire dai 30fps e dal nuovo sensore partially stacked da 33Mpixel. L'abbiamo provata per un breve periodo, ecco come è andata dopo averla messa alle strette.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-05-2005, 09:11   #1
Gandalf_BD
Senior Member
 
L'Avatar di Gandalf_BD
 
Iscritto dal: Jun 2004
Messaggi: 760
[C - newbie] gestione errori di sistema

Ciao a tutti...
ho bisogno di un piccolo aiuto...
avrei bisogno di inserire una chiamata ad un errore di sistema in un certo punto del codice...
o meglio...
faccio una fopen e, se il file non viene trovato, vorrei che mi saltasse fuori un messaggio di errore...
ho sentito dire che è possibile farlo, con una funzione che dovrebbe chiamarsi error(), però non so in che libreria si trovi e, provando ad inserirla così com'è, il compilatore mi da questo errore -> too few parameters...
mi spiegate come si usa?
grazie
__________________
Gandalf_BD
--------------------------------------------
"When you aim at perfection, you discover it's a moving target"
Gandalf_BD è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2005, 09:12   #2
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
La funzione si chiama "perror", ed è dichiarata in stdio.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2005, 09:21   #3
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8896
Quote:
Originariamente inviato da ilsensine
La funzione si chiama "perror", ed è dichiarata in stdio.
funziona bene ho notato solo su linux su windows mia

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2005, 09:24   #4
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Quote:
Originariamente inviato da Fenomeno85
funziona bene ho notato solo su linux su windows mia
mmm presumo che ti sei perso qualche carattere scrivendo il messaggio

Vuoi dire che su win non funziona come ti aspetti, immagino? Potrebbe essere; c'è comunque una API di windows per avere informazioni sugli errori, non so se funziona anche con fopen (oltre che con CreateFile).
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2005, 09:24   #5
Gandalf_BD
Senior Member
 
L'Avatar di Gandalf_BD
 
Iscritto dal: Jun 2004
Messaggi: 760
Quote:
Originariamente inviato da ilsensine
La funzione si chiama "perror", ed è dichiarata in stdio.
grazie... e che parametri gli devo passare?
l'errore è sempre lo stesso o posso "decidere io" quale generare?
grazie 1000
__________________
Gandalf_BD
--------------------------------------------
"When you aim at perfection, you discover it's a moving target"
Gandalf_BD è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2005, 09:25   #6
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8896
Quote:
Originariamente inviato da ilsensine
mmm presumo che ti sei perso qualche carattere scrivendo il messaggio

Vuoi dire che su win non funziona come ti aspetti, immagino? Potrebbe essere; c'è comunque una API di windows per avere informazioni sugli errori, non so se funziona anche con fopen (oltre che con CreateFile).
ma mi ha mozzato delle parti

su windows non funziona bene perror

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2005, 09:28   #7
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Quote:
Originariamente inviato da Gandalf_BD
grazie... e che parametri gli devo passare?
l'errore è sempre lo stesso o posso "decidere io" quale generare?
grazie 1000
Accetta una stringa, che è il prefisso da stampare. Ad es:

FILE *f = fopen(...);
if(!f) perror("fopen");

potrebbe stampare, in caso di errore di privilegi,
fopen: access denied

perror di per se è standard ansi; però come dice Fenomeno devi verificare se sia stata correttamente implementata sotto windows. L'alternativa mi sembra sia GetLastError, ma non so se funziona con fopen.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2005, 09:35   #8
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8896
dai provo e vi posto i risultati

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2005, 09:46   #9
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8896
perror con fopen funziona bene ... mi ricordavo male

Con getlasterror torna errore 2 ma qui bisogna capire che evento significa

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2005, 09:56   #10
Gandalf_BD
Senior Member
 
L'Avatar di Gandalf_BD
 
Iscritto dal: Jun 2004
Messaggi: 760
Quote:
Originariamente inviato da Fenomeno85
Con getlasterror torna errore 2 ma qui bisogna capire che evento significa[/b]
ma getlasterror è sempre nella stdio.h?
__________________
Gandalf_BD
--------------------------------------------
"When you aim at perfection, you discover it's a moving target"
Gandalf_BD è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2005, 11:11   #11
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8896
è sotto windows.h

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2005, 12:02   #12
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
scusate l'OT, ma stavo morendo quando ho digitato fopen in google, come primo link mi ha restituito questo:

http://www.fondopensionefopen.it/


__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2005, 13:03   #13
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8896
Quote:
Originariamente inviato da RaouL_BennetH
scusate l'OT, ma stavo morendo quando ho digitato fopen in google, come primo link mi ha restituito questo:

http://www.fondopensionefopen.it/


cmq i problemi se non erro era nella programmazione di rete


~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 10-05-2005, 08:03   #14
Gica78R
Senior Member
 
L'Avatar di Gica78R
 
Iscritto dal: Mar 2005
Messaggi: 1653
Ciao...

Evito di aprire una nuova discussione perche' il tema e' piu' o meno lo stesso...

Con perror viene stampato un messaggio di errore relativo al valore 'corrente' della variabile errno. Sapete se c'e' qualche funzione analoga per stampare un messaggio relativo ad un valore arbitrario che errno potrebbe aver assunto in precedenza?
Mi spiego meglio: supponiamo che io esegua diverse chiamate a funzione, e che in caso di errore di queste mi vada a salvare, dopo ogni chiamata, il valore assunto da errno. Utilizzando questi valori salvati, posso in qualche modo stampare i corrispondenti messaggi d'errore in "differita"? Oppure, c'e' modo di redirigere l'output di perror su una stringa invece che su file? Mi serve perche' l'applicazione che sto facendo deve andare a 'compilare' piu' di un file di log, e voglio di volta in volta decidere su quale di questi file scrivere l'output di perror senza redirigerlo in continuazione.


Grazie,
Gica
Gica78R è offline   Rispondi citando il messaggio o parte di esso
Old 10-05-2005, 09:27   #15
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
strerror di string.h (e la funzione thread-safe strerror_r, per i sistemi che la supportano)
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 10-05-2005, 10:05   #16
Gica78R
Senior Member
 
L'Avatar di Gica78R
 
Iscritto dal: Mar 2005
Messaggi: 1653
Perfetto! Proprio quello che cercavo

Grazie mille,
Gica
Gica78R è offline   Rispondi citando il messaggio o parte di esso
Old 11-05-2005, 19:19   #17
Gica78R
Senior Member
 
L'Avatar di Gica78R
 
Iscritto dal: Mar 2005
Messaggi: 1653
Ho letto che la strerror() puo' produrre la stringa di errore nella lingua specificata attraverso la variabile d'ambiente LC_MESSAGES, ma non riesco a trovare quali sono i possibili valori che si possono assegnare a tale variabile
Qualcuno sa quali sono? Potrebbero essere gli stessi di LANG?
Ultima cosa: settando tale variabile in un processo, poi devo anche esportarla affinche' sia visibile ai figli del processo stesso?

Grazie,
Gica

Aggiornamento: se do il comando locale, vedo che tutte le variabili del tipo LC_QUALCOSA hanno un valore, anche LC_MESSAGES; se invece do il comando echo $LC_MESSAGES ottengo una stringa vuota. Perche'?

Ultima modifica di Gica78R : 11-05-2005 alle 19:27.
Gica78R è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2005, 08:56   #18
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Non ti conviene modificare quelle variabili d'ambiente, non c'è motivo. Devi usare le impostazioni di sistema, non imporre le tue. Così se un turco eseguirà il tuo programma, si ritroverà automaticamente i messaggi in turco.

Se proprio vuoi, le variabili d'ambiente si gestiscono con getenv/putenv (ma solo nel namespace corrente, ovvero solo per il processo corrente).
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2005, 11:18   #19
Gica78R
Senior Member
 
L'Avatar di Gica78R
 
Iscritto dal: Mar 2005
Messaggi: 1653
Quote:
Originariamente inviato da ilsensine
Non ti conviene modificare quelle variabili d'ambiente, non c'è motivo. Devi usare le impostazioni di sistema, non imporre le tue. Così se un turco eseguirà il tuo programma, si ritroverà automaticamente i messaggi in turco.

Se proprio vuoi, le variabili d'ambiente si gestiscono con getenv/putenv (ma solo nel namespace corrente, ovvero solo per il processo corrente).
Si, su questo sono d'accordo... Solo che, come ho detto prima, apparentemente la variabile LC_MESSAGES non e' settata a nessun valore (stando a quanto prodotto da 'echo $LC_MESSAGES', mentre con il comando locale ottengo per la stessa variabile il valore "it_IT.UTF-8"). Percio' suppongo che i miei processi si ritrovino in esecuzione in un ambiente in cui tale variabile non e' settata appropriatamente, e quindi tutti i messaggi prodotti da strerror sono in inglese anziche' nella lingua locale.
Gica78R è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2005, 12:23   #20
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Allora, innanzitutto servono due cose: in primis, l'applicazione deve chiamare
setlocale(LC_ALL, "")
(definita in locale.h) in modo da poter utilizzare le impostazioni definite dalle variabili d'ambiente (nota che se non hai LC_MESSAGES sul tuo sistema, forse hai LC_ALL). Qui la man page è poco chiara, senza chiamare setlocale le variabili d'ambiente non hanno effetto. Quindi, è necessario che il database con le traduzioni per le tue localizzazioni sia presente; ad es. per it_IT.UTF-8 deve esistere il file
/usr/share/locale/it_IT/LC_MESSAGES/libc.mo
oppure il file
/usr/share/locale/it/LC_MESSAGES/libc.mo
Questo file dovrebbe essere fornito dalla distribuzione, ma molte non lo forniscono (ad es. sulla mia Mandrake non c'è).
In sintesi: chiama setlocale(LC_ALL, "") all'inizio del tuo programma e vivi tranquillo. Se non c'è la traslazione, vuol dire che manca libc.mo e su questo non puoi farci molto.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Due mesi di Battlefield 6: dalla campagna al battle royale, è l'FPS che stavamo aspettando Due mesi di Battlefield 6: dalla campagna al bat...
Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare Antigravity A1: drone futuristico per riprese a ...
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator Sony Alpha 7 V, anteprima e novità della ...
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1 realme GT 8 Pro Dream Edition: prestazioni da fl...
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum OVHcloud Summit 2025: le novità del cloud...
La costruzione del telescopio spaziale N...
HBO ha cancellato la produzione della se...
OpenAI ha pensato a una partnership (o a...
Starlink Mobile: SpaceX potrebbe lanciar...
Volkswagen trasforma lo stabilimento di ...
Meta AI più reattivo e imparziale...
In Cina la prima GPU discreta al mondo c...
Vertiv CoolCenter, il sistema di raffred...
Konecta entra nel Kraken BPO Partner Pro...
Un dialogo con l'AI sposta voti meglio d...
iPhone 17 al minimo storico: oggi il 256...
Gli utenti italiani scelgono ChatGPT: &e...
Anche Xiaomi avrà il suo trifold:...
È Natale in casa Tesla: arriva la...
Shai-Hulud diventa più cattivo: 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: 21:42.


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