MinGW-w64 prend-il nativement en charge std::thread avec le modèle de thread Win32 ?
Lors de l'utilisation de la chaîne d'outils MinGW-w64, sélectionnez Win32 Le modèle de threading peut soulever des inquiétudes quant à la disponibilité de la prise en charge des threads C 11.
Au départ, on pensait que std::thread pouvait être utilisé quel que soit le modèle de thread sur la base des déclarations précédentes. Cependant, cette hypothèse s'est avérée incorrecte.
Malgré l'invocation de g avec -std=c 11, std::thread n'est toujours pas pris en charge. Les options pour concilier cet écart sont :
Cependant, le " La qualification "prêt à l'emploi" dans la question exclut les options tierces telles que mingw-std-threads.
Support natif std::thread
Depuis mai 2016, La prise en charge native de std::thread dans MinGW-w64 avec le modèle de thread Win32 est obtenue en installant les en-têtes mingw-std-threads.
En effet, MinGW-w64 ne prend pas en charge les threads natifs comme les autres installations GCC qui implémentent le threading. via gthreads ou pthreads. MinGW-w64 n'a pas non plus de port glibc mais utilise le runtime MSVC et son propre code pour remplir les composants manquants.
Les versions récentes de MinGW-w64 incluent un port Win32 de pthreads ("winpthreads"), ce qui explique pourquoi la sélection le modèle "pthread" lors de l'installation active les threads.
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!