Maison > développement back-end > C++ > Pourquoi g lance-t-il toujours « Activer le multithreading pour utiliser std::thread : opération non autorisée » même avec l'indicateur -pthread ?

Pourquoi g lance-t-il toujours « Activer le multithreading pour utiliser std::thread : opération non autorisée » même avec l'indicateur -pthread ?

Barbara Streisand
Libérer: 2024-10-31 12:46:18
original
478 Les gens l'ont consulté

Why Does g   Still Throw

Compilation de code multithread avec g

Un individu a rencontré des difficultés pour compiler du code multithread à l'aide de g , malgré la spécification des indicateurs nécessaires. Le code, qui comprend des fichiers d'en-tête pour les E/S et la manipulation des threads, était simple, contenant un thread de travail et un thread principal. Cependant, la tentative de compilation a entraîné une erreur :

terminate called after throwing an instance of 'std::system_error'   
what():  Enable multithreading to use std::thread: Operation not permitted  
Aborted (core dumped)
Copier après la connexion

L'individu avait déjà inclus l'indicateur -pthread dans sa commande de compilation, ce qui est généralement recommandé pour activer le multithreading dans g . Cependant, le problème persistait.

La réponse au problème provient d'un bug dans gcc. La solution de contournement suggérée dans le dernier commentaire de la discussion sur le bug concerné consiste à ajouter l'indicateur suivant à la commande de compilation :

-Wl,--no-as-needed
Copier après la connexion

En implémentant cette solution de contournement, l'individu a pu compiler et exécuter avec succès son code multithread en utilisant g .

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal