क्लैंग और जी ++ सी ++ 11 कार्यान्वयन स्थिति को देखते हुए मैंने कुछ अजीब देखा:
वे सी ++ 11 परमाणुओं का समर्थन करते हैं, लेकिन वे सी ++ 11 मेमोरी मॉडल का समर्थन नहीं करते हैं।
मैं इस धारणा के तहत था कि आपके पास परमाणुओं का उपयोग करने के लिए सी ++ 11 मेमोरी मॉडल होना चाहिए। तो परमाणु और स्मृति मॉडल के समर्थन के बीच क्या अंतर है?
क्या मेमोरी मॉडल समर्थन की कमी का मतलब है कि std::atomic<T>
का उपयोग करने वाले कानूनी सी ++ 11 प्रोग्राम संगत नहीं हैं?सी ++ कंपाइलर्स सी ++ 11 परमाणु का समर्थन कैसे कर सकते हैं, लेकिन सी ++ 11 मेमोरी मॉडल का समर्थन नहीं करते
संदर्भ:
http://clang.llvm.org/cxx_status.html
http://gcc.gnu.org/gcc-4.7/cxx0x_status.html
परमाणुता स्मृति दृश्यता और मेमोरी ऑर्डरिंग के साथ मेमोरी मॉडल की (तीन?) गुणों में से एक है। परमाणुता स्मृति मॉडल का 'पर्याय' नहीं है। – mloskot