Was sind gcc auf linux-Pendant zu microsoft ' s kritische Abschnitte?

Microsoft Visual C++ Compiler haben die EnterCriticalSection und ExitCriticalSection
Objekte zu ermöglichen, die für die Synchronisation zwischen threads.

Was ist die GCC-äquivalent?

Sehe ich Referenzen rund um __sync_synchronize zusammen mit __scoped_lock

In der Tat sehe ich die Rede von einer Anzahl von atomaren __sync Funktionen zusammen mit einer Reihe von
__atomic lieben.

Ich tatsächlich schon mit __sync_fetch_and_add für meinen atomic increment
Soll ich mich mit __atomic_add_dispatch statt?
Was ist der Unterschied?

Welche sollte ich verwenden? Gibt es einige Konstrukte in C++, die ich verwenden kann, in der sowohl die neueste version von GCC und Visual C++ 2010, die verfügbar sind, so werde ich schriftlich einige cross-Plattform-code.

Ich sehe boost hat einige Funktionen zur Verfügung, aber aus verschiedenen Gründen bin ich mir nicht erlaubt die Verwendung von boost unter windows.

Ich nehme an, Sie nicht verwenden, jede andere Bibliothek entweder dann? Qt hat eine schöne (cross-Plattform) threading API.

InformationsquelleAutor Matt | 2010-08-18

Schreibe einen Kommentar