Rumah >pembangunan bahagian belakang >C++ >Mengapa Kod Berbilang Benang Saya Masih Membuang \'std::system_error\' Walaupun Dengan \'-pthread\'?

Mengapa Kod Berbilang Benang Saya Masih Membuang \'std::system_error\' Walaupun Dengan \'-pthread\'?

Susan Sarandon
Susan Sarandonasal
2024-11-02 09:29:31375semak imbas

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

Menyusun Kod Berbilang Benang dengan g : 'std::system_error' Diselesaikan

Menghadapi ralat 'std::system_error' semasa menyusun kod berbilang benang dengan g boleh mengecewakan. Walaupun secara eksplisit menyatakan bendera '-pthread', isu ini berterusan.

Menyiasat kod yang diberikan, nampaknya tidak ada masalah yang jelas. Walau bagaimanapun, isu ini timbul daripada pepijat dalam gcc. Penyelesaian yang disediakan oleh ahli sembang SO C menawarkan penyelesaian:

-Wl,--no-as-needed

Apabila ditambahkan pada arahan kompilasi, bendera ini menyelesaikan isu tersebut, membenarkan kod berbilang benang menyusun dan berjalan dengan jayanya. Perintah kompilasi yang dikemas kini ialah:

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

Atas ialah kandungan terperinci Mengapa Kod Berbilang Benang Saya Masih Membuang \'std::system_error\' Walaupun Dengan \'-pthread\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn