उदा। execve (2) है, जो POSIX के अनुसार इस प्रोटोटाइप [1] है:पॉइंटर्स को कॉन्स्ट करने के लिए argv और envp तर्क क्यों नहीं हैं?
int execve(const char *path, char *const argv[], char *const envp[]);
मेरे लिए
, ऐसा लगता है जैसे कि
int execve(const char *path, const char *const argv[], const char *const envp[]);
एक स्पष्ट सुधार हो गया होता।
तो, क्या किसी को पता है कि यह ऐसा क्यों है? संभवतः दिए गए argv/envp तारों में हेरफेर करने के लिए की आवश्यकता क्या समझा सकता है?
[1] http://pubs.opengroup.org/onlinepubs/009695399/functions/exec.html
[मेरे हटाए गए उत्तर पर आपकी टिप्पणियों के जवाब में] ओह, मुझे लगता है कि आपका क्या मतलब है - हाँ, मेरा उत्तर 'मुख्य' के तर्कों को संबोधित करता है, न कि 'argv' के तर्क। यह वास्तव में एक सीपीआई सवाल है, यूनिक्स सिस्टम डिज़ाइन प्रश्न नहीं। मुझे लगता है कि उत्तर मूल, प्री-कॉन्स्ट एपीआई के साथ बस ऐतिहासिक संगतता है। – Gilles
सी एपीआई (सामान्य सिस्टम डिज़ाइन के विपरीत) के बारे में प्रश्न यहां से विषय हैं, इसलिए मैं माइग्रेट करने के लिए मतदान कर रहा हूं [इसलिए]। (दोबारा पोस्ट न करें, प्रश्न जल्द ही स्थानांतरित हो जाएगा।) – Gilles
संभवतः कुछ प्रोग्राम इन बफर को –