Sto provando solo le mie funzioni sulle funzioni g++ 4.6
e C++11
. Ogni volta che compilo un semplice codice di threading usando il flag -std=c++0x
, o si blocca con un errore di segmentazione o genera qualche strana eccezione.In g ++ è il modello di thread C++ 11 che utilizza pthreads in background?
Ho letto alcune domande relative ai thread C++11
e ho capito che, devo anche usare il flag -pthread
per compilare correttamente il codice. L'utilizzo di -pthread
ha funzionato correttamente e sono riuscito a eseguire il codice threaded.
La mia domanda è, se il modello multi-threading C++11
utilizza Pthreads
in background? Oppure è stato scritto da zero?
Non so se qualcuno dei membri sia gcc
contributori, ma sono solo curioso.
@Kay sembra che la domanda riguardi g ++ 4.6. – juanchopanza
La "qualche strana eccezione" è probabilmente 'std :: system_error', richiesto dallo standard quando i thread non possono essere creati (ad esempio perché non hai collegato a libpthread.so con' -pthread'). Sto lavorando per migliorare il messaggio che l'eccezione dà, vedi http://gcc.gnu.org/PR52681 –
@JonathanWakely .... Sì, questa è l'eccezione che ho a che fare con la mia macchina Linux ... con AMD Turion X2 .... Mentre è andato liscio senza bandiera '-pthread' sui miei compagni di stanza macchina Intel ... – Recker