다음과 같이 C에서 execl 명령으로 생성 된 프로세스에 두 개의 주소 (32 비트)를 전달해야합니다. 첫 번째 프로그램에서 : 스폰 된 프로세스에 인수 전달이 C에서 작동하지 않습니다
char buffer[18];
sprintf (&buffer[0],"%x\0 %x\0",lock, count);
arg_list[0]=&(buffer[0]);
arg_list[1]=&(buffer[10]);
execl ("/somedirectory/second_process", arg_list[0], arg_list[1], NULL);
은 다음 나의 두 번째 프로그램에서 나는 시도하고 다음과 같이 주소를 구문 분석 :
if (argc != 2) {
printf ("PROCESS 2: Invalid number of arguments. Terminating %i\n", argc);
return -1;
}
if (!(sscanf (argv[1],"%x",&lock)) || !(sscanf (argv[2],"%x",&count))) {
printf ("PROCESS 2: Problem with parameters passed in");
return -1;
을하지만 내 프로그램에 전달 된 매개 변수가 유효하지 않다는 오류를주는 유지합니다. 수신 된 인수를 인쇄하려고 할 때 프로그램이 중단됩니다.
printf ("The arguments passsed in are %s %s", argv[1], argv[2]);
고정 : 내가 잘못 execl 함수 호출을했다
. 이 있었어야 :
execl ("/somedirectory/second_process", "second_process" arg_list[0], arg_list[1], NULL);
또한이 과정에서 크리스는 아래의 제안 프로세스 이름의이 있어야하는데 전달 된 첫 번째 인수로
if (argc != 3) {
printf ("PROCESS 2: Invalid number of arguments. Terminating %i\n", argc);
return -1;
}
.
감사합니다.
"Excel 명령으로 프로세스 생성"- Excel? 이 Visual Basic은 무엇입니까? (그냥 농담이야.) –
sorrry. 고정 :) – Falcata
문제가없는 친구;) –