Excl関数

793 ワード

今日、プロセスが実行するウィジェットを書きます.コンパイル時にヒントを与えます.
関数呼び出しに哨兵がいません[-Wformat]
  1 #include"stdio.h"
  2 #include
  3 void main()
  4 {
  5     execl("/bin/ls","ls","-l",0);
  6     printf("can only get here on error 
"); 7 }

エラーは5行目で、0を(char*)0に変更すればよい
次のようになります.
  1 #include"stdio.h"
  2 #include
  3 void main()
  4 {
  5     execl("/bin/ls","ls","-l",(char*)0);
  6     printf("can only get here on error 
"); 7 }

baiduからexecl()までの最後のパラメータは(char*)0でなければなりません.実行に成功すると、後の2行のコードは実行されません.
exec関数はlsを使用して現在のプロセスを置き換えたためです.
このほか、メモリを占有する際にメモリ領域の両端値が不確定であるため、両側の哨兵が見張りに立つ必要があることを示すという.はっきり言って初期化だ!