इसके खंड 2.6 में शामिल इस दस्तावेज में निम्नलिखित अनुच्छेद हैं:
यदि रेखा एक टोकन स्ट्रीम से शुरू होती है, जिसमें <टोकन शामिल है और एक> टोकन शामिल है, तो फ़ाइल नाम बनाने के लिए <और पहले> के बीच के टोकन संयुक्त हैं। टोकन के बीच कोई भी व्हाट्सएप एक ही स्थान पर कम हो जाता है; प्रारंभिक <के बाद किसी भी स्थान को बरकरार रखा जाता है, लेकिन समापन से पहले एक अनुगामी स्थान> को अनदेखा किया जाता है । सीपीपी कोण-ब्रैकेट के नियमों के अनुसार फ़ाइल की खोज करता है।
मुझे पता है कि यह कार्यान्वयन परिभाषित है, लेकिन जीसीसी के लिए ऐसा क्यों होना चाहिए? मैं विशेष रूप से ऊपर उल्लिखित वाक्य का उल्लेख कर रहा हूं।
संपादित करें
मैंने अभी देखा है कि ऊपर दिए गए उद्धरण के पहले तीसरा पैराग्राफ निम्नलिखित कहता है:
मैक्रो को परिभाषित करते समय आपको सावधान रहना चाहिए।
#define
पाठ सहेजता है, टोकन नहीं। प्रीप्रोसेसर के पास यह जानने का कोई तरीका नहीं है कि मैक्रो का उपयोग तर्क के रूप में किया जाएगा#include
, इसलिए यह साधारण टोकन बनाता है, हेडर नाम नहीं। यदि आप दोहरे-उद्धरण का उपयोग करते हैं, तो यह समस्या पैदा करने की संभावना नहीं है, जो स्ट्रिंग स्थिरांक के काफी करीब हैं। यदि आप कोण कोष्ठक का उपयोग करते हैं, हालांकि, आपको परेशानी हो सकती है ।
क्या किसी को पता है कि यहां किस तरह की परेशानी बताई जा रही है?