मैंजीसीसी परमाणु निर्मित का उपयोग कर?
gcc -Wall -march=i686 -std=gnu99 ll.c -o ll
साथ संकलन gcc
atomic builtins पेज से __atomic_load_n
उपयोग करने के लिए कोशिश कर रहा हूँ, लेकिन यह मुझसे कहता है यह कर सकते हैं नहीं
warning: implicit declaration of function ‘__atomic_load_n’
मैंने सोचा कि यह साथ gcc
प्रदान करने के लिए पर्याप्त होगा arch
और march
झंडे (और std=gnu99
ध्वज सेट करके सुनिश्चित किया गया है), लेकिन इसका कोई फायदा नहीं हुआ। असल में, अगर मैं सामान्य __GCC_VERSION__
या __GNUC__
मैक्रोज़ के लिए परीक्षण करता हूं तो मान भी नहीं लगता है ... लेकिन मेरे पास एक सुंदर वेनिला gcc
स्थापना है, जो अनबंटू में आता है।
मुझे पता है कि मैं कुछ मूर्खतापूर्ण कर रहा हूं, लेकिन मैं यह नहीं समझ सकता कि क्या। मेरे पास जीसीसी (उबंटू/लिनारो 4.6.3-1ubuntu5) 4.6.3
कोड इस तरह दिखता है: यह एक ऐसा फ़ंक्शन है जिसे कभी भी कॉल नहीं किया जाता है (इसलिए), समस्या संकलन समय पर है।
type* func(type* p) {
type* q = __atomic_load_n (p, __ATOMIC_SEQ_CST);
}
क्या आप हमें वह कोड दिखा सकते हैं जो आपको त्रुटि दे रहा है? – NPE
@ एनपीई: निश्चित रूप से, प्रश्न अपडेट किए गए हैं। –
मैं टाइप करने के बाद 'int'' टाइप करने के बाद आपके कोड को कोई समस्या (gcc 4.7.2) संकलित कर सकता हूं। अगर आपको अपने कंपाइलर इंस्टॉलेशन के साथ कोई समस्या है, तो शायद यह देखने के लिए एक गैर-परीक्षण लेकिन साफ परियोजना बनाने का प्रयास करें? – NPE