[Coding] Macro e funzioni: differenze
  • In diretta da GamesVillage.it
    • News
    • -
    • In Evidenza
    • -
    • Recensioni
    • -
    • RetroGaming
    • -
    • Anteprime
    • -
    • Video
    • -
    • Cinema

Pag 1 di 3 123 UltimoUltimo
Visualizzazione risultati da 1 a 15 di 36

Discussione: Macro e funzioni: differenze

Cambio titolo
  1. #1
    Utente
    Registrato il
    07-15
    Messaggi
    132

    Macro e funzioni: differenze

    Ciao a tutti, potreste illustrarmi le differenze tra macro e funzioni e i vantaggi e svantaggi di entrambe?

    Inviato dal mio Nexus 5 utilizzando Tapatalk

  2. #2
    A-10C (IQT BAQ BMC TAC20) L'avatar di Affa
    Registrato il
    02-08
    Località
    Trento
    Messaggi
    15.267

  3. #3
    linker
    Ospite
    Ed ecco perchè nel dubbio, da buon niubbo, non tocco le macro manco con un bastone

  4. #4
    Utente
    Registrato il
    07-15
    Messaggi
    132
    In poche parole le macro sono difficili da debbugare e siccome sostituiscono il testo solamente ci possono anche essere errori che non ti segnala in quanto sostituisce solo il testo?

    Inviato dal mio Nexus 5 utilizzando Tapatalk

  5. #5
    A-10C (IQT BAQ BMC TAC20) L'avatar di Affa
    Registrato il
    02-08
    Località
    Trento
    Messaggi
    15.267
    Più o meno.

    Le macro le ho trovate utili perché puoi definirle alla compilazione:

    Codice:
    #include <stdio.h>
    
    
    main()
      {
      #ifdef DEBUG
      printf("debug mode");
      #else
      printf("normal mode");
      #endif
      }
    Codice:
    g++ ...
    
    > normal mode
    Codice:
    g++ ... -D DEBUG
    
    > debug mode

    Yay!

  6. #6
    panzone
    Ospite
    Citazione Affa Visualizza Messaggio
    Più o meno.

    Le macro le ho trovate utili perché puoi definirle alla compilazione:
    Altra cosa carina* è che tramite macro puoi generare, a forza di define ed undef, funzioni diverse a compile time che contengono un core comune, oltre ad essere un modo per scrivere intrinsic function pure in C89.

    "Eh, ma le funzioni non servono apposta per modularizzare il codice ? Metti il core comune in una funzione separata": Si, e sarebbe la cosa migliore, ma il problema è che una chiamata a funzione introduce overhead e ci son situazioni in cui non puoi permettertelo.

    Spoiler:
    *dipende a chi lo chiedi


    Citazione linker Visualizza Messaggio
    Ed ecco perchè nel dubbio, da buon niubbo, non tocco le macro manco con un bastone
    Citazione linker Visualizza Messaggio


    E fai male. Non son da abusare, ma le macro permettono di fare un sacco di giochetti utili tipo le stampe di debug che ha mostrato sopra. Come ogni cosa son da soppesare pro e contro.
    Ultima modifica di panzone; 13-07-2015 alle 15:34:38

  7. #7
    Utente
    Registrato il
    07-15
    Messaggi
    132
    E , scusate se lo chiedo per l'ennesima volta, questi pro e contro quali sarebbero dettagliatamente?

    Inviato dal mio Nexus 5 utilizzando Tapatalk

  8. #8
    A-10C (IQT BAQ BMC TAC20) L'avatar di Affa
    Registrato il
    02-08
    Località
    Trento
    Messaggi
    15.267
    Citazione float Visualizza Messaggio
    E , scusate se lo chiedo per l'ennesima volta, questi pro e contro quali sarebbero dettagliatamente?

    Inviato dal mio Nexus 5 utilizzando Tapatalk
    Leggiti il link di Stack Overflow, che lo spiegano sicuramente meglio.

    Che poi, per cosa vorresti usarle al momento?

    Yay!

  9. #9
    Utente
    Registrato il
    07-15
    Messaggi
    132
    No lo chiedevo solo per informazione, visto che sto cercando di imparare il linguaggio

    Inviato dal mio Nexus 5 utilizzando Tapatalk

  10. #10
    Utente
    Registrato il
    07-15
    Messaggi
    132
    Un altra cosa... Dato che ho l'occasione di parlare con grandi esperti(se non si è capito siete voi) vi faccio un altra domanda, cosa sono i flag?

    Inviato dal mio Nexus 5 utilizzando Tapatalk

  11. #11
    A-10C (IQT BAQ BMC TAC20) L'avatar di Affa
    Registrato il
    02-08
    Località
    Trento
    Messaggi
    15.267
    Citazione float Visualizza Messaggio
    Un altra cosa... Dato che ho l'occasione di parlare con grandi esperti(se non si è capito siete voi) vi faccio un altra domanda, cosa sono i flag?

    Inviato dal mio Nexus 5 utilizzando Tapatalk
    Quelle del compilatore?

    Yay!

  12. #12
    Utente
    Registrato il
    07-15
    Messaggi
    132
    Non saprei... Esiste una definizione che riguarda il c o la cosa è generale?

    Inviato dal mio Nexus 5 utilizzando Tapatalk

  13. #13
    U(M;x)=M(x) L'avatar di elvis91
    Registrato il
    11-06
    Località
    Roma
    Messaggi
    12.822
    Uno degli utilizzi principali delle macro è per scrivere codice cross-platform.

  14. #14
    Utente
    Registrato il
    07-15
    Messaggi
    132
    E i flag?

    Inviato dal mio Nexus 5 utilizzando Tapatalk

  15. #15
    A-10C (IQT BAQ BMC TAC20) L'avatar di Affa
    Registrato il
    02-08
    Località
    Trento
    Messaggi
    15.267
    Citazione float Visualizza Messaggio
    E i flag?

    Inviato dal mio Nexus 5 utilizzando Tapatalk
    Sono opzioni del compilatore.

    Yay!

Pag 1 di 3 123 UltimoUltimo

Regole di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •