- 论坛徽章:
- 0
|
井蛙夏虫 发表于 2013-05-23 21:20 ![]()
回复 3# 〇〇
是test程序的argc和argv,而不是调用execlp的程序的argc和argv。
你好像不知道execlp是做什 ...
谢谢指导
[oracle@redflag11012501 ~]$ vi aa.c
#include<stdio.h>
int main(int argc,char *argv[])
{
printf("argc=\"%d\"\n",argc);
printf("argv[0]=\"%s\"\n",argv[0]);
}
"aa.c" [新] 6L, 120C 已写入
[oracle@redflag11012501 ~]$ gcc aa.c
[oracle@redflag11012501 ~]$ ./a.out
argc="1"
argv[0]="./a.out"
[oracle@redflag11012501 ~]$ mv a.out a
[oracle@redflag11012501 ~]$ vi bb.c
#include<unistd.h>
int main()
{
execlp("./a",(char *)0);
}
"bb.c" [新] 5L, 59C 已写入
[oracle@redflag11012501 ~]$ gcc bb.c
[oracle@redflag11012501 ~]$ ./a.out
argc="0"
argv[0]="(null)"
[oracle@redflag11012501 ~]$
[oracle@redflag11012501 ~]$ vi bb.c
#include<unistd.h>
int main()
{
execlp("./a","",(char *)0);
}
"bb.c" 5L, 62C 已写入
[oracle@redflag11012501 ~]$ gcc bb.c
[oracle@redflag11012501 ~]$ ./a.out
argc="1"
argv[0]=""
|
|