पॉज़िक्स वैकल्पिक रूप से ऐसी कई सीमाओं को परिभाषित करता है। यदि limits.h
में एक फूड फू को परिभाषित नहीं किया गया है, तो इसका मतलब है कि सिस्टम में ऐसी कोई सीमा नहीं हो सकती है या सीमा रनटाइम पर भिन्न हो सकती है या जिस पथनाम पर लागू होता है उस पर निर्भर करता है। इन मामलों में, आप के रूप में pathconf
, fpathconf
, या sysconf
कार्य करता है और _PC_*
और _SC_*
मैक्रो, का उपयोग करें:
path_max = pathconf("/", _PC_PATH_MAX);
या:
page_size = sysconf(_SC_PAGE_SIZE);
दुर्भाग्य से जीएनयू (GNU सी पुस्तकालय) कई को परिभाषित करता है रनटाइम-वैरिएबल के रूप में सीमाएं जब वे वास्तव में लिनक्स पर स्थिर होती हैं, कुछ में (मेरी राय में, बहुत गुमराह) उम्मीद है कि किसी दिन सीमा हटा दी जाएगी और एप्लिकेशन तुरंत सीमाओं को हटाने का लाभ उठा सकेंगे। हालांकि, आवेदन और कर्नेल मजबूती के लिए, जब तक वे पर्याप्त रूप से बड़े होते हैं (लिनक्स सीमाएं हैं) तब तक निश्चित सीमाएं तय करना बेहतर होता है।
स्रोत
2010-11-24 15:41:14
यह भी मुझे संदेह है कि अनुप्रयोगों को पोर्टेबल होने के लिए प्रोत्साहित करने का प्रयास है, जिनके पास सिस्टम-परिभाषित सीमा नहीं है, जैसे जीएनयू हर्ड। – caf
@caf: मुझे लगता है कि आपने बिल्कुल कारण निकाला है। –