Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    211

    [c++] Debugging da codice

    Per effettuare il debugging da codice, utilizzo queste istruzioni:

    #define DEBUG
    template<class c>void Print(c Valore)
    {
    #ifdef DEBUG
    cout<<Valore;
    #endif
    }

    E poi richiamo con Print(valore di qualsiasi tipo). Voi utilizzate la stessa tecnica o altri modi più eleganti, che magari nell'esecuzione del codice evitino di chiamare la funzione Print(con spreco di risorse)?

  2. #2
    codice:
    #ifdef _DEBUG
    #define DBGPRINT(x) std::cout<<(x)
    #else
    #define DBGPRINT(x) 
    #endif
    e quindi, nel codice
    codice:
    DBGPRINT(funzionediprova());
    .
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    211
    grazie mille.
    La parola _DEBUG bisogna definirla prima con #define _DEBUG? (i valori che iniziano con _ non fanno parte delle parole standard del linguaggio?)

    Un'ultima cosa: non vi è mai capitato che sostituendo l'istruzione cout<<valore; con ; crei degli errori?
    Quello che voglio dire è : si puo' sempre scrivere un istruzione vuota seguita dal ; ?

  4. #4
    Originariamente inviato da Cesaropa12
    grazie mille.
    La parola _DEBUG bisogna definirla prima con #define _DEBUG? (i valori che iniziano con _ non fanno parte delle parole standard del linguaggio?)
    In molti compilatori viene definita automaticamente quando si sta compilando il progetto in modalità di debug. Puoi verificare in maniera estremamente semplice se questa regola vale anche per il tuo.
    Un'ultima cosa: non vi è mai capitato che sostituendo l'istruzione cout<<valore; con ; crei degli errori?
    Quello che voglio dire è : si puo' sempre scrivere un istruzione vuota seguita dal ; ?
    Ho provato e non mi ha dato errori... ma il non inserire il ; alla fine del #define è stata una dimenticanza nello scrivere il codice nel mio post precedente.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    211
    Si. Comque si puo' anche non mettere il ; nel define e metterlo nel codice, come fosse la chiamata a una funzione.
    Anzi,secondo me è meglio non metterlo nel #define, per poi non sbagliarsi...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.