Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    16

    static int x torna a zero

    Sto cercando di modificare una parte di un programma, vorrei contare quante volte una funzione che non è chiamata direttamente dal main() viene eseguita.
    Ho messo all'interno "static int x=0" e "x++", ma sulla stampa a video mi fa vedere sempre x=1.
    Perchè?
    Come potrei risolvere il mio problema?
    Grazie!

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Mostra tutto il codice.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    16
    E' un programma opensource, non posso copiare tutte le funzioni che si chiamano dal main a questa funzione

  4. #4
    Quantomeno il codice della funzione... (e/o, dato che è un programma opensource, un link ai sorgenti).

    Tra l'altro, come ormai dovresti sapere, nel titolo della discussione va indicato il linguaggio di riferimento...
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Originariamente inviato da TIggy
    E' un programma opensource, non posso copiare tutte le funzioni che si chiamano dal main a questa funzione
    Beh, se fosse closed source potrei capirlo ...

    In ogni caso, quella mi sembra una tua modifica ... posta soltanto il codice modificato da te ...

    Comunque ... vedi un po' ... non è che insisto per sapere qualcosa ma per tentare di risolvere il tuo problema ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    16
    Originariamente inviato da MItaly
    Tra l'altro, come ormai dovresti sapere, nel titolo della discussione va indicato il linguaggio di riferimento...
    Ops... scusa, l'ho dimenticato...
    Originariamente inviato da oregon
    non è che insisto per sapere qualcosa ma per tentare di risolvere il tuo problema ...
    Certo capisco e ti ringrazio.

    Il codice è quello di postgresql, e sto semplicemente tentando di aggiungere un contatore a questa funzione (executorStart):
    http://doxygen.postgresql.org/execMa...ce.html#l00116
    Linea 116 (dovresti esserci già sopra quando apri il link).
    Quello che ho fatto io è stato:
    codice:
    static int count=0;
    count++;
    printf("%d",count);

  7. #7
    Originariamente inviato da TIggy
    codice:
    static int count=0;
    count++;
    printf("%d",count);
    dove le hai aggiunte queste righe?

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    16
    dentro la funzione executorStart:

    codice:
    ExecutorStart(QueryDesc *queryDesc, int eflags)
     {
         static int count=0;
         count++;
         printf("%d",count); 
         if (ExecutorStart_hook)
             (*ExecutorStart_hook) (queryDesc, eflags);
         else
             standard_ExecutorStart(queryDesc, eflags);
     }

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Ma vedi tante volte x=1, tipo

    x=1
    x=1
    x=1

    o lo vedi solo una volta

    x=1


    ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    16
    vedo tante volte x=1;

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.