सी स्टैंडर्ड के अनुसार, उपखंड 6.10.2, पैरा 5 [आईएसओ/आईईसी 9899: 2011],सी स्रोत शामिल किए जाने के नाम लंबाई
कार्यान्वयन दृश्यों एक या अधिक से मिलकर के लिए अद्वितीय मैपिंग प्रदान करेगा नोडिगिट्स या अंक (6.4.2.1) के बाद अवधि (।) और एक नोडिगिट। पहला अक्षर अंक नहीं होगा। कार्यान्वयन वर्णमाला के भेदभाव को अनदेखा कर सकता है और अवधि से पहले मैपिंग को आठ महत्वपूर्ण वर्णों तक सीमित कर सकता है।
इसका मतलब यह होगा कि यदि दो फाइलों में आम तौर पर पहले 8 वर्ण होते हैं, तो हेडर वास्तव में चुनता है वह अनिर्धारित है।
जब मैं क्लैंग या जीसीसी का उपयोग करके संकलित करता हूं, तो मुझे वास्तव में इस समस्या का सामना नहीं करना पड़ा है। हालांकि, क्या जीसीसी और क्लैंग में स्रोत फ़ाइल समावेशन के लिए एक दस्तावेज व्यवहार है?
आधुनिक दुनिया में, अगर कोई संकलक वास्तव में 8 वर्णों तक सीमित रहता है तो मुझे यह अजीब लगेगा।
संदर्भ: C11 WG14 draft version N1570, Cert C Coding standard
POSIX में 'NAME_MAX' और' PATH_MAX' मैक्रोज़ हैं, _gcc_ इन सीमाओं पर भी आधारित हो सकता है। 8 अक्षरों की सीमा के लिए, शायद एम्बेडेड दुनिया में? – md5
कुंजी शब्द _may_ है। शायद समस्या को पुराने वसा वाले सिस्टम में [8.3 फाइलनाम] (https://en.wikipedia.org/wiki/8.3_filename) प्रारूप – LPs
@ md5 के साथ सिस्टम में ट्रिगर किया जा सकता है भले ही एक एम्बेडेड सिस्टम सीमित हो, आमतौर पर फर्मवेयर विकसित किया जाता है एक आधुनिक प्रणाली पर एक क्रॉस-कंपाइलर का उपयोग कर। – LPs