2012-02-03 1 views
5

execl 대신 execv을 사용합니다. execv을 사용하려면 배열을 만들고 여기에 execl과 함께 사용하는 인수를 넣으십시오. 그런 다음 배열을 넣으십시오. execvexecl과 execv의 차이점은 무엇입니까?

execv에 대한 인수 배열을 사용해야하는 이유는 무엇입니까? execlexecv의 차이점은 무엇입니까?

답변

6

인수의 형식 이외에 차이가 없습니다. 둘 다 결국 같은 기본 시스템 호출 execve()을 호출하게됩니다.

+0

왜 인수의 형식을 변경해야합니까? 만약 그들이 같은 일을하고 있다면 나는 의미한다. –

+2

'execve()'시스템 호출 (그리고'execv()')은 배열에서 인수를 취한다. 'execl()'은 배열을 설정하는 번거 로움을 피할 수 있도록 고정 된 수의 인수가있는 경우 편의상 제공됩니다. 'execl()'은 임시 인수 자체에 함수 인수를 저장하고 시스템 호출을합니다. 인수 배열을 직접 설정하면'execl()'이 필요 없습니다. – mark4o

관련 문제