मेरे पास कोड का एक टुकड़ा है जो x86 gcc 4.4.1 के साथ समस्याओं के बिना संकलित करता है लेकिन ब्लैकफिन जीसीसी 4.1.2 के साथ विफल रहता है जिसमें कई "अपेक्षित अयोग्यता-आईडी संख्यात्मक स्थिरता से पहले" त्रुटियों के साथ विफल होते हैं। मैं देखता हूं कि कुछ परिवर्तनीय नाम हैं जो कुछ पूर्वनिर्धारित मैक्रोज़ के साथ संघर्ष करते हैं। क्या सीपीपी फ़ाइल की एक निश्चित पंक्ति पर परिभाषित मैक्रोज़ देखना संभव है?क्या मैं सी कोड के संकलन के दौरान परिभाषित मैक्रोज़ देख सकता हूं?
उत्तर
gcc -dM -E myfile.cpp
-dM
स्विच जीसीसी बताता सभी मैक्रो दिया फाइल में परिभाषित डंप करने के लिए (यह भाषा मानक के साथ-साथ किसी भी अतिरिक्त मैक्रो जीसीसी खुद को परिभाषित करता है के द्वारा परिभाषित किया जाना आवश्यक मैक्रो की एक सूची में शामिल होंगे)।-E
स्विच जीसीसी को फ़ाइल को प्रीप्रोकैस करने के बाद संकलन जारी रखने के लिए नहीं कहता है।
आदेश में एक cpp फ़ाइल की दी गई लाइन पर परिभाषित मैक्रो की एक सूची देखने के लिए, यह पहली बार पूर्व-निर्धारित मैक्रो (मैक्रो संकलक द्वारा परिभाषित) के किसी भी बाहर फिल्टर करने के लिए आसान हो सकता है। मार में, आप कर सकता है:
LINE=40
FILE=myfile.cpp
HEADER=myfile.h
diff <(grep -h '#include[[:space:]]*<.*>' ${FILE} ${HEADER} | gcc -dM -x c++ -E -) <(cat ${FILE} | head -n ${LINE} | gcc -x c++ -dM -E -)
यह किसी मैक्रो मानक प्रणाली हेडर या चौखटे द्वारा परिभाषित बाहर फ़िल्टर करना चाहिए। अतिरिक्त भाग, -x c++
, जीसीसी को सी ++ स्रोत के रूप में इनपुट की व्याख्या करने के लिए कहता है [जिसके लिए प्रीप्रोकैसिंग की आवश्यकता होती है], ऐसा इसलिए है क्योंकि यह फ़ाइल नाम के विस्तार के आधार पर इसे निर्धारित करने में सक्षम नहीं होगा (स्रोत कोड जीसीसी को सौंप दिया गया है stdin)।
- 1. मैं संकलन के दौरान पार्स पेड़, मध्यवर्ती कोड, अनुकूलन कोड और असेंबली कोड कैसे देख सकता हूं?
- 2. क्या मैं संकलन के दौरान आउटपुट भेजने के लिए सी ++ प्रीप्रोसेसर प्राप्त कर सकता हूं?
- 3. मैं "और" के लिए कार्यान्वयन कोड कैसे देख सकता हूं?
- 4. कंपाइलर विस्तारित कोड देख रहा है - सी ++
- 5. सी ++ संकलन समय मैक्रोज़ विंडोज़ ओएस
- 6. मॉड्यूल बनाने के दौरान मैं पर्ल के संकलन झंडे को कैसे ओवरराइड कर सकता हूं?
- 7. गिट क्या मैं रिमोट के रिफ्लॉग को देख सकता हूं?
- 8. आईआरबी में, क्या मैं पहले परिभाषित विधि के स्रोत को देख सकता हूं?
- 9. मैं बांस के निर्माण के दौरान गिट भंडार का केवल एक हिस्सा कैसे देख सकता हूं?
- 10. क्या मैं अंत में बदले में __VA_ARGS के साथ वैरिएडिक सी प्रीप्रोसेसर मैक्रोज़ परिभाषित कर सकता हूं?
- 11. मैं सी ++ मानक पुस्तकालयों में उपयोग किए गए कोड को कहां देख सकता हूं?
- 12. मैं फ्लैश सोर्स कोड कैसे देख सकता हूं?
- 13. जी सीसीसी में सी सी प्रीप्रोसेसर मैक्रोज़ को पहले से ही परिभाषित किया गया है?
- 14. मैं सूर्य जेडीके का स्रोत कोड कहां देख सकता हूं?
- 15. मैक्रोज़ (उपयोगकर्ता परिभाषित कोड परिवर्तन) का विचार कब प्रकट हुआ?
- 16. #define जैसे मैक्रोज़ के बाद कोड प्राप्त करने के लिए मैं जीसीसी प्रीप्रोसेसर कैसे चला सकता हूं?
- 17. जावाडोक संकलन के दौरान मैं चेतावनी (कोडबेस-चौड़ा) कैसे दबा सकता हूं?
- 18. मैं एंटिटी फ्रेमवर्क के लंबित परिवर्तन कैसे देख सकता हूं?
- 19. मैं ऑडियो डेटा कैसे देख सकता हूं?
- 20. क्या मैं समय कोड पुनर्लेखन संकलन के लिए Roslyn का उपयोग कर सकता हूं?
- 21. मैं अनुकूलित jitted .NET कोड के डिस्सेप्लोर को कैसे देख सकता हूं?
- 22. क्या मैं jaxb.properties को कोड के साथ बदल सकता हूं?
- 23. क्या मैं देख सकता हूं जब UIViewController इंटरफ़ेस बदलता है?
- 24. संकलन समय के दौरान वैध इनपुट के लिए मैं सी फ़ंक्शन कैसे देखूं?
- 25. सी # में परिवर्तनीय परिवर्तनों के मूल्य के दौरान कोड कैसे निष्पादित कर सकता हूं?
- 26. संकलन कोड को गतिशील सी #
- 27. मैं वास्तविक क्वेरी चलाने के बिना जेडीबीसी कथन के लिए एसक्यूएल सिंटैक्स कैसे देख सकता हूं?
- 28. क्या मैं क्यूटी-निर्माता में प्रोग्राम आउटपुट देख सकता हूं?
- 29. क्या मैं सी # में एप्लिकेशन लोड के दौरान एक लापता डीएलएल त्रुटि पकड़ सकता हूं?
- 30. मैं NSLog में ऑब्जेक्ट के मान कैसे देख सकता हूं?