Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di mr.and
    Registrato dal
    Dec 2008
    Messaggi
    51

    [C]warning su InterlockedIncrement

    Salve,
    nella mia applicazione ho dichiarato un vettore di variabili LONG volatile con l'intento di poter condividere delle informazioni tra diversi thread grazie all'ausilio di InterlockedIncrement e InterlockedDecrement.
    Ma,non so perchè in compilazione ho un warning:

    warning: passing arg 1 of 'InterlockedIncrement' discard qualifiers from pointer target type.

    Eppure il codice che utilizzo è questo:

    codice:
    LONG volatile client[20];
    int i;
    
    /*i assume un qualche valore minore di 20*/
    
    InterlockedIncrement(client+i);
    Come mai questo warning? dove sbaglio?

    Compilo con MinGW sotto windows.


    Ringrazio tutti in anticipo!

    Saluti.

  2. #2
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    ma a questo vettore cosa vorresti fare scusa?

    codice:
    LONG volatile client[20];
    int i;
    
    /*i assume un qualche valore minore di 20*/
    
    InterlockedIncrement(client+i); //qui fai avanzare di i volte il puntatore al vettore.. è giusto?

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Con Visual C++ 2008 non ci sono problemi ... deve essere un warning del MingW che ha a che fare con il volatile ... forse non e' gestito correttamente ...

    Prova ad indicare

    InterlockedIncrement((LONG volatile *)(client+i));
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Utente di HTML.it L'avatar di mr.and
    Registrato dal
    Dec 2008
    Messaggi
    51
    Già provato, nessun miglioramento...

  5. #5
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    ma in esecuzione da problemi?

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da mr.and
    Già provato, nessun miglioramento...
    Mi sembra che non sia un grosso problema ... probabilmente ignora il volatile ...

    Comunque, e' un problema del compilatore.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it L'avatar di mr.and
    Registrato dal
    Dec 2008
    Messaggi
    51
    In esecuzione sembrerebbero non esserci problemi, ma siccome leggevo che questo tipo di warning è legato a comportamenti non prevedibili avevo paura che nel momento meno opportuno venissero fuori scheletri nell'armadio...comunque in effetti questo problema si è manifestato da quando, causa formattazione, ho reinstallato il MinGW...prima lo stesso codice non mi dava nessun warning, non vorrei aver installato una versione che non supporta il modificatore 'volatile'..anche se non è volatile che rende condivisibile tra più thread la variabile dichiarata?se non lo supporta, non dovrebbe perdere questa proprietà la variabile in questione?

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 © 2025 vBulletin Solutions, Inc. All rights reserved.