Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Il primo headset open-back della linea INZONE arriva a 200 euro con driver derivati dalle cuffie da studio MDR-MV1 e un peso record di soli 199 grammi
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA
Al .NEXT 2026 di Chicago, Nutanix ha mostrato quanto sia cambiata: una piattaforma software che gestisce VM, container e carichi di lavoro IA ovunque, dall’on-premise al cloud pubblico. Con un’esecuzione rapidissima sulle partnership e sulla migrazione da VMware
Recensione Xiaomi Pad 8 Pro: potenza bruta e HyperOS 3 per sfidare la fascia alta
Recensione Xiaomi Pad 8 Pro: potenza bruta e HyperOS 3 per sfidare la fascia alta
Xiaomi Pad 8 Pro adotta il potente Snapdragon 8 Elite all'interno di un corpo con spessore di soli 5,75 mm e pannello LCD a 144Hz flicker-free, per un tablet che può essere utilizzato con accessori dedicati di altissima qualità. Fra le caratteristiche esclusive, soprattutto per chi intende usarlo con la tastiera ufficiale, c'è la modalità Workstation di HyperOS 3, che trasforma Android in un sistema operativo con interfaccia a finestre
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 29-09-2010, 09:39   #1
processore
Member
 
Iscritto dal: Aug 2006
Messaggi: 88
[c] stampare messagi in fade di debug

salve.
devo fare un progetto e nelle specifiche mi chiede questo.

Direttive al preprocessore
Utilizzando le direttive al preprocessore definire una costante DEBUG. Quando
DEBUG non sarà posta a 0, saranno stampati alcuni messaggi utili in fase di
debugging; diversamente tali messaggi non saranno stampati.


e non riesco a capire cos adevo fare.
mi potreste aiutare

grazie
processore è offline   Rispondi citando il messaggio o parte di esso
Old 29-09-2010, 10:28   #2
shinya
Senior Member
 
L'Avatar di shinya
 
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
Codice:
int main() {
  printf("O hai!\n");
#ifdef DEBUG
  printf("ZOMG HAAAXXXX!\n");
#endif
  printf("Kthxbai!\n");

  return 0;
}
Tipo cosi... anche se a farlo per ogni messaggio diventi stronzo. Ti conviene definire una macro a cui passi il messaggio che riscrive una printf in caso sia definiva DEBUG o non faccia niente in caso contrario.
shinya è offline   Rispondi citando il messaggio o parte di esso
Old 29-09-2010, 10:50   #3
tuccio`
Senior Member
 
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
Quote:
Originariamente inviato da shinya Guarda i messaggi
Codice:
int main() {
  printf("O hai!\n");
#ifdef DEBUG
  printf("ZOMG HAAAXXXX!\n");
#endif
  printf("Kthxbai!\n");

  return 0;
}
Tipo cosi... anche se a farlo per ogni messaggio diventi stronzo. Ti conviene definire una macro a cui passi il messaggio che riscrive una printf in caso sia definiva DEBUG o non faccia niente in caso contrario.
"quando non sarà posta a zero" vuol dire:

Codice:
#if (DEBUG)
..
#endif
o al più

Codice:
#if defined(DEBUG) && (DEBUG)
..
#endif
tuccio` è offline   Rispondi citando il messaggio o parte di esso
Old 29-09-2010, 10:55   #4
shinya
Senior Member
 
L'Avatar di shinya
 
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
Vero... sorry. E' che mi sembra una cagata. O la definisci o non la definisci.
shinya è offline   Rispondi citando il messaggio o parte di esso
Old 29-09-2010, 11:04   #5
tuccio`
Senior Member
 
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
anche perché i compilatori la definiscono da soli compilando in modalità debug
tuccio` è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2010, 11:21   #6
processore
Member
 
Iscritto dal: Aug 2006
Messaggi: 88
scate ma non riesco a capire.

io faccio

#DEFINE DEBUG 0

poi se non ho capito male devo fare

#if (DEBUG > 0)
printf("hhhhhhhhhhh");

pero non riesco a capire dove li devo mettere questi pezzi di codice.

li devo mettere a ogni variabile ?
oppure dopo ogni funzione ?

poi un altra cosa, siccome il progetto comprende diversi file, questi messaggi vanno messi solo nel file contenente il main oppure in tutti i file.?


grzie.

Ultima modifica di processore : 11-10-2010 alle 11:39.
processore è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2010, 12:02   #7
tuccio`
Senior Member
 
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
decidi tu dove è utile
tuccio` è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2010, 13:02   #8
processore
Member
 
Iscritto dal: Aug 2006
Messaggi: 88
il problema e che non capisco prorpio l'utilita di fare queste cose.
per questo avrei bisogno di chiarimenti.

forse vanno messe per testare la buona riuscita delle funzioni ?
vanno messe solo nel file del main ?
processore è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2010, 13:16   #9
tuccio`
Senior Member
 
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
be', in generale in fase di debug è utile controllare che le variabili assumano i giusti valori, che in certi casi si entri in un if piuttosto che nell'else.. sei tu a sapere cosa fa il tuo programma
tuccio` è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2010, 13:20   #10
processore
Member
 
Iscritto dal: Aug 2006
Messaggi: 88
il mio programma e una calcolatrice che prende un file in imput e scrive il risultato dell'operazione in un file di output.

scusa se faccio cosi tante domande.
ma non ho minimamente idea di dove mettere queste condizioni.

potrebbe andare bene se le metto nelle variabili dove vengono memorizzate i numeri presi dal file in imput ?

siccome uso anche uno stack va messa anche qualcuna nello stack ?

andrebbe bene mettere una per testare la lettura e la scrittura dal / su file ?

Ultima modifica di processore : 11-10-2010 alle 13:24.
processore è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2010, 13:45   #11
processore
Member
 
Iscritto dal: Aug 2006
Messaggi: 88
non ce nessuno che mi puo aiutare.
processore è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2010, 14:03   #12
tuccio`
Senior Member
 
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
ma non c'è un modo giusto di fare una cosa del genere, servono per fare il debug, se non servono a te non servono a nessuno
tuccio` è offline   Rispondi citando il messaggio o parte di esso
Old 14-10-2010, 11:04   #13
processore
Member
 
Iscritto dal: Aug 2006
Messaggi: 88
hai raggione.
pero il problemae che serve per il progetto e il prof ha detto che li devo mettere.


io ho provato a fare cosi.

#define DEBUG 1


p_File_in = fopen(NF_in,"r");

#if DEBUG > 0
printf("file aperto correttamente \n");

#else
printf("errore");

#endif
system("PAUSE");


e corretto ?
pro quando compilo anche se metto un nome di un file che non esiste mi dice lo stesso file aperto correttamente

se il file non esiste non dovrebbe entrare nel else ?

grazie
processore è offline   Rispondi citando il messaggio o parte di esso
Old 14-10-2010, 21:57   #14
alemoppo
Member
 
L'Avatar di alemoppo
 
Iscritto dal: Apr 2010
Messaggi: 163
Ma che centra!

Quello è pre-processore.. non viene eseguito durante l'esecuzione del programma!

Un conto è un else di un costrutto if-else del C, un conto è un if - else di preprocessore!...

Poi, tra l'altro, se non erro, l'else del preprocessore non era #else, ma #elif

..Ti consiglio di leggerti qualche guida di C

Ciao!
__________________
MSI B550-A PRO|Ryzen™ 5 3600|Freezer 13 PRO|RX 6600|CORSAIR CX600|Crucial P3 Plus 1TB|BL2K8G32C16U4B 3200 MHz|Q27G2G4
alemoppo è offline   Rispondi citando il messaggio o parte di esso
Old 14-10-2010, 22:15   #15
tuccio`
Senior Member
 
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
Quote:
Originariamente inviato da processore Guarda i messaggi
hai raggione.
pero il problemae che serve per il progetto e il prof ha detto che li devo mettere.


io ho provato a fare cosi.

#define DEBUG 1


p_File_in = fopen(NF_in,"r");

#if DEBUG > 0
printf("file aperto correttamente \n");

#else
printf("errore");

#endif
system("PAUSE");


e corretto ?
pro quando compilo anche se metto un nome di un file che non esiste mi dice lo stesso file aperto correttamente

se il file non esiste non dovrebbe entrare nel else ?

grazie
il controllo che il file sia stato aperto correttamente dovresti farlo a prescindere, non è una questione che riguarda solo la fase di debug, e comunque non si fa così ma:

Codice:
p_File_in = fopen(NF_in,"r"); 
if (!p_File_in)
   printf("Errore");
tuccio` è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori Sony INZONE H6 Air: il primo headset open-back d...
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA Nutanix cambia pelle: dall’iperconvergenza alla ...
Recensione Xiaomi Pad 8 Pro: potenza bruta e HyperOS 3 per sfidare la fascia alta Recensione Xiaomi Pad 8 Pro: potenza bruta e Hyp...
NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abb...
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz ASUS ROG Swift OLED PG34WCDN recensione: il prim...
Efficienza energetica fino a 2.000 volte...
Lenovo 360: il programma di canale dell'...
Appena 10.000 qubit per rompere la critt...
Analisi dei transistor durante il funzio...
Attacco informatico a Booking.com: espos...
A quattro mesi dal divieto dei social ne...
NVIDIA GeForce RTX 5060 e 5060 Ti: in ar...
Rebellions, Arm e SK Telecom, nuova alle...
Modernizzazione delle app: Red Hat OpenS...
Nel mirino di Google c'è il back ...
PRAGMATA in bundle con GeForce RTX 5000:...
Le novità MOVA per il 2026: robot e impi...
Windows, stop all'attivazione telefonica...
ASUS porta la serie TUF nel formato Mini...
Roblox: account con limiti di età...
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:52.


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