execvp được định nghĩa như sau:Tại sao tham số argv để execvp không const?
int execvp(const char *file, char *const argv[]);
nào ngăn cản mã như này từ đang được sử dụng:
const char* argv[] = {"/bin/my", "command", "here", NULL};
execvp(argv[0], argv);
Đây có phải là một thiếu sót vô tình? Có an toàn để const_cast xung quanh này? Hoặc thực hiện một số execvp thực hiện scribble trên bộ nhớ đó?
Mặc dù gia đình chức năng 'exec *' không sửa đổi các đối số của nó như được ghi chú trong đặc tả POSIX, lưu ý rằng trên Windows, ['CreateProcess' yêu cầu dòng lệnh có thể ghi] (http://blogs.msdn.com /b/oldnewthing/archive/2009/06/01/9673254.aspx). –