Örnek olarak; posix göre bu prototipi [1] sahiptir execve (2),:Neden argv ve envp argümanları göstericiyi const olarak yürütür?
int execve(const char *path, const char *const argv[], const char *const envp[]);
bariz gelişme olurdu sanki Bana
int execve(const char *path, char *const argv[], char *const envp[]);
, öyle görünüyor.
Peki, kimse bunun neden böyle olduğunu biliyor mu? gereksinimini, verilen argv/envp dizgilerini muhtemelen işlemek için ne açıklayabilir? ps
çıkışı bazı devlet bilgileri gösterir, böylece
[1] http://pubs.opengroup.org/onlinepubs/009695399/functions/exec.html
[Silinmiş cevabım hakkındaki yorumlarınıza yanıt olarak] Oh, ne demek istediğini anladım - evet, cevabım, 'argv' argümanlarını değil, 'ana' argümanlarını ele alıyor. Bu gerçekten bir C API sorusu, bir Unix sistem tasarımı sorusu değil. Cevabın, orijinal, ön yapı API'ları ile sadece tarihsel uyumluluk olduğunu düşünüyorum. – Gilles
C API ile ilgili sorular (genel sistem tasarımının aksine) konu dışı olduğundan, [o] öğesine geçiş yapmaya oy veriyorum. (Yeniden gösterme, soru yakında taşınacaktır.) – Gilles
Muhtemelen bazı programlar bu arabellekleri mutasyona uğratıyor –