मैं सिर्फ g++ 4.6
और C++11
सुविधाओं पर अपने हाथों की कोशिश कर रहा हूं। हर बार जब मैं -std=c++0x
ध्वज का उपयोग करके एक साधारण थ्रेडिंग कोड संकलित करता हूं, तो यह सेगमेंटेशन गलती से क्रैश हो जाता है या यह कुछ अजीब अपवाद फेंकता है।जी ++ में पृष्ठभूमि में pthreads का उपयोग कर सी ++ 11 धागा मॉडल है?
मैंने C++11
धागे से संबंधित कुछ प्रश्न पढ़े और मुझे एहसास हुआ कि, मुझे कोड को ठीक से संकलित करने के लिए -pthread
ध्वज का उपयोग करने की भी आवश्यकता है। -pthread
का उपयोग ठीक काम किया और मैं थ्रेडेड कोड चलाने में सक्षम था।
मेरा सवाल है, क्या C++11
बहु थ्रेडिंग मॉडल पृष्ठभूमि में Pthreads
का उपयोग करता है? या यह स्क्रैच से लिखा गया है?
मुझे नहीं पता कि कोई भी सदस्य gcc
योगदानकर्ता है लेकिन मैं केवल उत्सुक हूं।
@ क्या ऐसा लगता है कि प्रश्न g ++ 4.6 के बारे में है। – juanchopanza
"कुछ अजीब अपवाद" शायद 'std :: system_error' है, मानक द्वारा आवश्यक जब थ्रेड को नहीं बनाया जा सकता है (उदाहरण के लिए क्योंकि आपने libpthread.so से '-pthread' के साथ लिंक नहीं किया है)। मैं अपवाद देता है कि संदेश में सुधार करने पर काम कर रहा हूं, http://gcc.gnu.org/PR52681 –
@ जोनाथन वाकई .... हाँ, यह अपवाद है कि मैं अपने लिनक्स मशीन पर काम कर रहा हूं ... एएमडी के साथ टूरियन एक्स 2 .... हालांकि यह मेरे रूममेट्स इंटेल मशीन पर '-प्थ्रेड' ध्वज के बिना आसानी से चला गया ... – Recker