0
A
답변
3
다른 사람들이 말한 것과 마찬가지로, &&
을 사용하십시오. 예 :
$ make && ./a.out
이 작업에는 두 가지 사항이 있습니다. 첫째, 유닉스에서 성공한 모든 것이 0을 리턴하는 (C 프로그램 포함) 규칙이 있습니다. Romans에는 C 프로그램을 성공적으로 종료 할 수있는 제로가 없었기 때문에 "로마 제국이 무너 졌음"을 기억하는 데 도움이되는 오래된 농담이 있습니다.
두 번째로, &&
은 부울 "및"의 "단락 회로"버전입니다. 즉, 왼편의 표현을 평가할 것이고, 단지 0
이라면 오른쪽의 표현을 평가할 것입니다. 이것은 Java 연산자 &&
(단락)과 &
(항상 두 피연산자를 평가 함) 간의 차이이기도합니다. 불필요한 표현식의 오른쪽 피연산자에 부작용 (예 : I/O, 변수 업데이트)이있는 경우 많은 피연산자 언어에 두 가지 연산자가 모두 포함됩니다.이 경우 반드시 두 피연산자를 모두 평가해야합니다. 그러나 어떤 사람들은 이러한 방식으로 부작용을 포함시키는 것이 좋지 않다고 말합니다.
1
하여 내장 된 실행 파일이 다음과 같은 일을 할 수 a.out
라는 경우 : ... 난 이런 모습을 생각할 수
% make && ./a.out
5
가장 쉬운 방법을
run: program_name
./program_name
"실행을"해야 program_name이없고 컴파일 할 수 없으면 실패합니다.
3
make가 성공하면 0을 반환하고 컴파일이 실패하면 2를 반환합니다. 나는 bash로 다음을 시도했다.
make && ./success
여기서 success는 생성 된 바이너리의 이름이다.
& &은 첫 번째 프로그램이 성공한 경우에만 두 번째 프로그램이 실행된다는 것을 보증합니다.