Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    16

    Intelocked

    Ciao vorrei usare la funzione
    codice:
     Interlocked::Increment(variabile_da_incrementare)
    Pero' non capisco cosa devo includere siccome il comilatore mi dice
    'Interlocked' non è il nome di una classe o di uno spazio dei nomi
    e
    'Increment': identificatore non trovato
    Grazie

  2. #2
    Linguaggio? Se è C++, non mi risulta che la libreria standard fornisca cose del genere, dove hai trovato quello snipplet?
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3

  4. #4
    Quello è C++/CLI, ossia un "dialetto" del C++ che si compila in codice gestito e usa le classi del .NET Framework, non puoi usarlo da C++ "nativo".

    Cosa vuoi fare, un mutex o roba del genere?
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    16
    Sto scrivendo una dll che contenga un hook globale e uno a basso livello per i messaggi del mouse. Questa variabile mi tiene conto della differenza del numero di messaggi letti dalle due funzioni. Usare un interlocked mi sembra la soluzione più facile. Ho trovato anche questa classe
    codice:
    http://msdn.microsoft.com/en-us/library/system.threading.interlocked.aspx
    e qui c'e Interlocked::Read. Pero' non capisco che inclusioni devo fare.. Nell'esempio aggiunge solo
    using namespace System;
    using namespace System::Threading;

    pero' al compilatore non piace...

  6. #6
    Originariamente inviato da schiuma
    [...]
    Come già detto, è tutta roba del .NET Framework, funziona solo in C++/CLI, non va con il C++ nativo. Devi ricorrere o alle apposite API di Windows oppure cercare/scrivere un wrapper C++ per esse. Ti avrei consigliato di provare a gestire la cosa con le primitive di sincronizzazione di boost, ma dal momento che la portabilità su altri sistemi operativi non è certamente necessaria nel tuo caso credo che la soluzione più comoda sia l'uso di InterlockedIncrement & co.
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #7
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    Se usi windows puoi usare direttamente queste

    ops gia segnalate
    Per gli Spartani e Sparta usa spartan Il mio github

  8. #8
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304

    Moderazione

    Prendi anche visione del Regolamento interno, soprattutto per quanto riguarda i titoli delle discussioni e l'indicazione obbligatoria del linguaggio usato.

    Questa l'ho sistemata io.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.