2009-10-27 16 views
5

जीसीसी के atomic operations के लिए हालिया समर्थन (जैसा कि here वर्णित है) बहुत अच्छा है, और हमें 9 0% की आवश्यकता है। दुर्भाग्यवश, हमारे कुछ उत्पादों को अभी भी विंडोज़ पर चलने की जरूरत है और इसलिए हमें विंडोज के लिए परमाणु पूर्णांक संचालन की भी आवश्यकता है।जीसीसी के नए परमाणु पूर्णांक संचालन के विकल्प

अतीत में, हमारे सभी प्लेटफार्मों के लिए कस्टम असेंबली भाषा कार्यान्वयन था, लेकिन मैं सभी * निक्स प्लेटफार्मों को जीसीसी समर्थित संचालन में ले जाना चाहता हूं और विचार ने मेरे दिमाग को पार किया कि शायद एक और मानक भी है विंडोज़ पर अब भी ऐसा करने का तरीका ...

क्या विंडोज़ पर ऐसा करने का आधिकारिक रूप से स्वीकृत तरीका है (उन्हें स्वयं को असेंबली भाषा में लागू करने के अलावा)?

+4

MinGW एक विकल्प का उपयोग कर रहा है? वे जीसीसी संस्करण 4.4.0 पर हैं, यानी परमाणु संचालन availabe होना चाहिए; मैं सी प्रोग्रामिंग के लिए एमएस कंपाइलर से बचता हूं वैसे भी सी 99 समर्थन की कमी है ... – Christoph

उत्तर

6

आप Interlocked फ़ंक्शंस चाहते हैं।

+1

यूप। Win32 API में ऐसे सभी कार्यों के लिए सारांश पृष्ठ http://msdn.microsoft.com/en-us/library/ms684122(VS.85).aspx - एक बेहतर लिंक होगा। –

+0

अच्छा बिंदु। आप हमेशा मेरा जवाब संपादित कर सकते हैं, लेकिन मैं इसे चला गया हूं और इसे यहां बदल दिया है। :) –

0

यह उन लोगों पर निर्भर करता है जिनकी आपको आवश्यकता है - मुझे नहीं लगता कि उनमें से प्रत्येक का विंडोज (संभवतः जीसीसी के भीतर) का एक (प्री-बिल्ट) कार्यान्वयन है, लेकिन उनमें से कुछ काफी हद तक आसपास हैं जबकि। विंडोज इंटरलाक्ड इंस्ट्रूमेंट, इंटरलाक्ड डिकमेंट, इंटरलाक्ड एड, इंटरलाक्डऑर, इंटरलाक्डएक्स, और इसी तरह से है।

0

जीएलआईबी some atomic operations प्रदान करता है, और वे विंडोज़ पर चलाने के लिए जाने जाते हैं। आप विचारों के लिए inspect the sources कर सकते हैं या जिस कोड को आपको चाहिए उसे सीधे चुनें।

संबंधित मुद्दे