limits.h
में, और पॉज़िक्स मैनपेज में विभिन्न स्थानों पर, PATH_MAX
और NAME_MAX
के संदर्भ हैं। ये एक दूसरे से कैसे संबंधित हैं? उनके लिए आधिकारिक दस्तावेज़ीकरण कहां है? मैं उन्हें रन टाइम पर कैसे प्राप्त कर सकता हूं, और (जहां प्रासंगिक) सी, पायथन, और जीएनयू (खोल) वातावरण के लिए संकलन समय?PATH_MAX और NAME_MAX के बीच संबंध क्या है, और मैं कैसे प्राप्त करूं?
उत्तर
PATH_MAX
फाइल सिस्टम पथ की अधिकतम लंबाई है। NAME_MAX
एक फ़ाइल नाम की अधिकतम लंबाई (एक विशेष स्थान पर) है। तो, /foo/bar
PATH_MAX
द्वारा प्रतिबंधित है, और केवल bar
भाग की लंबाई इसकी लंबाई NAME_MAX
है।
आप _PC_PATH_MAX
और _PC_NAME_MAX
रूप pathconf
के माध्यम से चलाने के समय इन प्राप्त कर सकते हैं, हालांकि मानक अभ्यास संकलन समय पर स्थिर मैक्रो का उपयोग करने के लिए आम तौर पर सिर्फ है। मुझे लगता है कि रन-टाइम विकल्प का उपयोग करना बेहतर होगा क्योंकि आप संभावित रूप से लंबे मूल्यों का समर्थन कर सकते हैं, लेकिन मुझे यकीन नहीं है कि (यदि कोई है) सिस्टम वास्तव में pathconf
से वापसी प्रदान करता है जो POSIX_FOO_MAX
के मान से अधिक है मान।
अधिकांश ऑपरेटिंग सिस्टम पर, PATH_MAX
बिल्कुल परिभाषित नहीं किया जाना चाहिए। यह केवल तभी परिभाषित किया जाना चाहिए, यदि ऑपरेटिंग सिस्टम में पथ का वर्णन करने वाली स्ट्रिंग के लिए अधिकतम लंबाई हो, जो कि अधिकांश ऑपरेटिंग सिस्टम में नहीं है; यदि आप मैक्रो के बाहर PATH_MAX
का उपयोग करते हैं तो उन मामलों में आपको एक त्रुटि प्राप्त करनी चाहिए।
आपको PATH_MAX
के अस्तित्व पर भरोसा करना चाहिए और इसे पूरी तरह से अनदेखा करने का प्रयास करना चाहिए।
PATH_MAX
बिल्कुल ऑपरेटिंग सिस्टम पर मौजूद है, वास्तव में एक बग है। जहां तक मुझे पता है, केवल विंडोज ऑपरेटिंग सिस्टम ही इसका सम्मान करते हैं।
- 1. ghc-pkg और cabal के बीच संबंध क्या है?
- 2. स्कैला और सी ++ लक्षणों के बीच संबंध क्या है
- 3. मैवेन और मेरे आवेदन के बीच संबंध क्या है?
- 4. पैसेंजर और कैपिस्ट्रानो के बीच क्या संबंध है?
- 5. सी और विंडोज एपीआई के बीच संबंध क्या है?
- 6. Iterable और Iterator के बीच संबंध क्या है?
- 7. जीसी, अंतिमकरण() और निपटान के बीच संबंध क्या है?
- 8. डब्ल्यूआईसी और जीडीआई + के बीच क्या संबंध है?
- 9. कंटेंटपेन और जेपीनेल के बीच संबंध क्या है?
- 10. मास्क टॉबाउंड्स और कोनेराइडियस के बीच संबंध क्या है?
- 11. एवीआर और अरुडिनो के बीच क्या अंतर/संबंध है?
- 12. Virtualenvwrapper में वातावरण और परियोजनाओं के बीच क्या संबंध है?
- 13. बेयसियन और तंत्रिका नेटवर्क के बीच संबंध क्या है?
- 14. AppDelegate, RootViewController, और UIAplplication के बीच संबंध क्या है?
- 15. __getattr__ और getattr के बीच संबंध क्या है?
- 16. जीईएफ और जीएमएफ के बीच संबंध?
- 17. क्या आरटीटीआई और अपवादों के बीच कोई संबंध है?
- 18. एक्सटेक्स्ट और एएनटीएलआर के बीच संबंध क्या है?
- 19. असेंबली भाषा और मशीन भाषा के बीच संबंध क्या है?
- 20. एनम और गणना के बीच संबंध क्या है, यदि कोई
- 21. bitbucket.org और bytebucket.org के बीच क्या संबंध है?
- 22. फ़्लॉपिंग और मेटा-स्थिरता के बीच संबंध
- 23. log4j और apache.commons.logging के बीच संबंध
- 24. पार्सिंग, हाइलाइटिंग और समापन के बीच संबंध
- 25. पोर्ट और आईपी पते के बीच संबंध
- 26. मैं E_NOTIMPL और E_NOINTERFACE के बीच कैसे चयन करूं?
- 27. मैं 'बाइनरी' और 'टेक्स्ट' फ़ाइलों के बीच अंतर कैसे करूं?
- 28. दोनों चरम और खंड शेडर्स में gl_Color और gl_FrontColor के बीच संबंध क्या है
- 29. UIView.frame और CALayer.frame के बीच संबंध क्या है? (दोनों CATransform3D को पूर्व और पोस्ट करें)
- 30. मैं सेमफोर और सेमफोरस्लिम के बीच कैसे चुनाव करूं?
क्या आप इस बात पर टिप्पणी कर सकते हैं कि वे पाइथन में उपलब्ध हैं या नहीं? –
@ मैट जॉइनर: आपका प्रश्न केवल सी के लिए समझ में आता है; पायथन या खोल स्क्रिप्टिंग के लिए कोई "संकलन समय" नहीं है। यदि आप एक स्क्रिप्टिंग भाषा का उपयोग कर रहे हैं, तो ये चर आपके लिए उपयोगी होने की संभावना नहीं है - बस अपने पथों में हेरफेर करने के लिए अनिश्चित-लंबाई वाली स्ट्रिंग का उपयोग करें। साथ ही, ये सिस्टम-विशिष्ट चर हैं, और एक पायथन स्क्रिप्ट आदर्श रूप से पोर्टेबल होना चाहिए, इसलिए आप उनका उपयोग नहीं करना चाहेंगे और इसके बजाय फ़ाइल बनाने/एक्सेस करते समय बस "पथ बहुत लंबी" त्रुटियों की जांच करें। – Borealid
मैं पायथन में एक फाइल सिस्टम लिख रहा हूं, इसलिए वे वास्तव में बहुत रुचि रखते हैं। मैं 'os.fpathconf' को अपने डिवाइस फ़ाइल पर' PATH_MAX' के लिए सबसे अच्छा अनुमान के रूप में कॉल कर रहा हूं, और 'NAME_MAX' मेरे कार्यान्वयन की एक संपत्ति है 'struct statvfs' के माध्यम से लौटा दी गई है। पाइथन युक्तियों को याद करने के बावजूद यह एक अच्छा जवाब है। –