Menyusun Kod Berbilang Benang dengan g
Seorang individu menghadapi kesukaran menyusun kod berbilang benang menggunakan g , walaupun menyatakan bendera yang diperlukan. Kod, yang termasuk fail pengepala untuk I/O dan manipulasi benang, adalah mudah, mengandungi benang pekerja dan utas utama. Walau bagaimanapun, percubaan kompilasi menghasilkan ralat:
terminate called after throwing an instance of 'std::system_error' what(): Enable multithreading to use std::thread: Operation not permitted Aborted (core dumped)
Individu tersebut telah pun memasukkan bendera -pthread dalam arahan kompilasi mereka, yang biasanya disyorkan untuk mendayakan multithreading dalam g . Walau bagaimanapun, isu itu berterusan.
Jawapan kepada masalah itu berpunca daripada pepijat dalam gcc. Penyelesaian yang dicadangkan dalam ulasan terakhir perbincangan pepijat yang berkaitan melibatkan penambahan bendera berikut pada arahan kompilasi:
-Wl,--no-as-needed
Dengan melaksanakan penyelesaian ini, individu itu berjaya menyusun dan menjalankan kod berbilang benang mereka menggunakan g .
Atas ialah kandungan terperinci Mengapa g Masih Melempar \'Dayakan Multithreading untuk menggunakan std::thread: Operasi tidak dibenarkan\' Walaupun Dengan Bendera -pthread?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!