Rumah > Artikel > pembangunan bahagian belakang > Mengapakah Program C Multithreaded Saya Melemparkan Ralat \"Operasi Tidak Dibenarkan\" Walaupun Menggunakan \'-pthread\'?
Masalah:
Walaupun menggunakan bendera '-pthread' yang disyorkan , anda menghadapi ralat masa jalan semasa cuba menyusun dan melaksanakan program C berbilang benang dengan g . Mesej ralat menunjukkan "Operasi tidak dibenarkan" apabila cuba menggunakan objek 'std::thread'.
Penyelesaian Kemungkinan:
Isu mungkin disebabkan oleh pepijat dalam pengkompil g. Untuk menyelesaikan masalah ini, gunakan penyelesaian berikut:
Tambahkan bendera '-Wl,--no-as-needed' pada arahan kompilasi. Bendera ini mengarahkan pemaut untuk tidak mempertimbangkan simbol 'pthreads' seperti yang diperlukan untuk program.
Arahan Kompilasi Disemak:
g++ main.cpp -o main.out -pthread -std=c++11 -Wl,--no-as-needed
Penyelesaian ini sepatutnya membolehkan anda susun dan laksanakan kod berbilang benang anda dengan jayanya.
Nota:
Isu ini telah dilaporkan pada penjejak pepijat g rasmi dan pembetulan dijangka pada masa hadapan. Walau bagaimanapun, penyelesaian yang disediakan di sini harus menyelesaikan masalah itu buat masa ini.
Atas ialah kandungan terperinci Mengapakah Program C Multithreaded Saya Melemparkan Ralat \"Operasi Tidak Dibenarkan\" Walaupun Menggunakan \'-pthread\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!