반응형
C와 C++에서 사용되는 다른 버전의 Exec은 무엇인가?
C(및 C++)에서 사용할 수 있는 모든 실행 버전
execl
execle
execlp
execv
execve
execvp
두 사람의 차이점이 뭐야?어떤 것을 사용해야 하는지 어떻게 아십니까?
차이점은 다음과 같은 조합:
L vs V: 다음과 같이 매개 변수를 Exec의 프로그램에 전달할지 여부
- L: 호출의 개별 매개 변수(변수 인수 목록):
execl()
,execle()
,execlp()
그리고execlpe()
- V: 문자의 배열로*
execv()
,execve()
,execvp()
그리고execvpe()
배열 형식은 미리 알 수 없는 것처럼, 실행된 프로세스에 보낼 매개변수 수가 가변적이어서 함수 호출에 고정된 수의 매개변수를 넣을 수 없을 때 유용하다.
- L: 호출의 개별 매개 변수(변수 인수 목록):
E: 마지막에 'E'가 있는 버전을 사용하면 실행 프로그램이 실행되기 전에 생성된 프로세스 환경에 추가된 문자열 집합인 char* 배열을 추가로 통과할 수 있다.하지만 매개 변수를 전달하는 또 다른 방법은, 정말로.
P: 그 안에 'p'가 있는 버전은 환경 변수를 사용한다.
PATH
실행할 실행 파일을 검색하십시오.'p'가 없는 버전은 실행 파일의 파일 이름이 현재 작업 디렉토리에 없는 경우 파일 경로 앞에 절대 또는 상대 파일 경로를 추가해야 한다.
opengroup은 핵심 c/c++ 기능에 대한 가장 좋은 일반 참조 자료 중 하나이다.
executive*에 대한 설명: http://pubs.opengroup.org/onlinepubs/009695399/functions/environ.html
C 런타임 라이브러리의 Posix 확장이다.만약 공식적인 Posix 문서가 불충분하다면, 나는 Samuel P라는 책을 추천할 수 있다.하비슨, 가이 엘스틸, 2002 "C A Reference" 페이지# 416 - 이 질문을 다룬다.
반응형
'programing' 카테고리의 다른 글
Linux/unix에 WinAPI의 MAX_PATH와 동등한 것이 있는가? (0) | 2022.05.14 |
---|---|
왜 내 부에즈 메서드는 루프를 사용하지도 않는데 무한 루프 생성 콜인가? (0) | 2022.05.14 |
정수.valueOf() 대정수.parseInt() (0) | 2022.05.14 |
네트워크에서 가져온 개체에 v-bind:value 또는 v-model을 사용할 수 있는가? (0) | 2022.05.14 |
Vuex4에 있는 소방시설에서 스냅샷을 올바르게 사용하는 방법 (0) | 2022.05.14 |