execve関数の引数について不明な点があるので投稿します。
環境はLinuxです。
execve関数のプロトタイプ宣言は以下のようになっています。
int execve(const char *filename, char *const argv[/url], char *const envp[/url]);
そこで質問なのですが、argvやenvpに指定する文字列はexecve関数の中で変更される可能性が
あるということなのでしょうか?
もし変更される可能性がないのならば
int execve(const char *filename, const char *const argv[/url], const char *const envp[/url]);
というようにcharの前にconstがあるべきだと思います。
何か理由があるのでしょうか?
execve関数の引数について
Re:execve関数の引数について
> もし変更される可能性がないのならば
> int execve(const char *filename, const char *const argv[/url], const char *const envp[/url]);
> というようにcharの前にconstがあるべきだと思います。
> 何か理由があるのでしょうか?
constつきだと、キャストする必要があり、面倒くさいからではないでしょうか。
http://www.kouno.jp/home/c_faq/c11.html#10

> int execve(const char *filename, const char *const argv[/url], const char *const envp[/url]);
> というようにcharの前にconstがあるべきだと思います。
> 何か理由があるのでしょうか?
constつきだと、キャストする必要があり、面倒くさいからではないでしょうか。
http://www.kouno.jp/home/c_faq/c11.html#10
