Heim > Backend-Entwicklung > C++ > Warum wirft mein Multithread-Code auch mit „-pthread' immer noch „std::system_error' aus?

Warum wirft mein Multithread-Code auch mit „-pthread' immer noch „std::system_error' aus?

Susan Sarandon
Freigeben: 2024-11-02 09:29:31
Original
334 Leute haben es durchsucht

Why Does My Multithreaded Code Still Throw 'std::system_error' Even With '-pthread'?

Kompilieren von Multithread-Code mit g: 'std::system_error' behoben

Beim Kompilieren von Multithread-Code ist der Fehler „std::system_error“ aufgetreten mit g kann frustrierend sein. Trotz expliziter Angabe des Flags „-pthread“ besteht das Problem weiterhin.

Bei der Untersuchung des bereitgestellten Codes scheint es kein offensichtliches Problem zu geben. Das Problem entsteht jedoch durch einen Fehler in gcc. Die von einem Mitglied des SO C-Chats bereitgestellte Problemumgehung bietet eine Lösung:

-Wl,--no-as-needed
Nach dem Login kopieren

Wenn dieses Flag dem Kompilierungsbefehl hinzugefügt wird, behebt es das Problem und ermöglicht die erfolgreiche Kompilierung und Ausführung des Multithread-Codes. Der aktualisierte Kompilierungsbefehl wäre:

$ g++ main.cpp -o main.out -pthread -std=c++11 -Wl,--no-as-needed
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWarum wirft mein Multithread-Code auch mit „-pthread' immer noch „std::system_error' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage