반응형
Makefile에서 : =와 =의 차이점은 무엇입니까?
Make의 변수 할당에 대해서는 : = 및 = 연산자를 참조하십시오. 그들 사이의 차이점은 무엇입니까?
이것은 6.2 The Two Flavors of Variables 섹션의 GNU Make 문서에 설명되어 있습니다.
간단히 말해로 정의 된 변수 :=
는 한 번 확장되지만로 정의 된 변수 =
는 사용할 때마다 확장됩니다.
단순 할당 (: =)
단순 할당 표현식은 맨 처음에 한 번만 평가됩니다. 예를 들어, CC :=${GCC} ${FLAGS}
첫 만남 중에로 평가되면 발생할 gcc -W
때마다 ${CC}
로 대체됩니다 gcc -W
.
재귀 할당 (=)
재귀 할당 표현식은 코드에서 변수가 발견 될 때마다 평가됩니다. 예를 들어 like 문은 like CC = ${GCC} {FLAGS}
작업 ${CC} file.c
이 실행될 때만 평가됩니다 . 변수는 경우, GCC
즉 재 할당되는 GCC=c++
다음은 ${CC}
변환됩니다 c++ -W
재 할당 후.
조건부 할당 (? =)
조건부 할당은 값이없는 경우에만 변수에 값을 할당합니다.
추가 (+ =)
그런 CC = gcc
다음 추가 연산자가 CC += -w
다음 과 같이 사용 되었다고 가정하면 CC
이제 값이 있습니다.gcc -W
에서 http://www.gnu.org/software/make/manual/make.html#Flavors :
=
재귀 적으로 확장 된 변수를 정의합니다. :=
단순히 확장 된 변수를 정의합니다.
참고 URL : https://stackoverflow.com/questions/4879592/whats-the-difference-between-and-in-makefile
반응형
'Nice programing' 카테고리의 다른 글
C 함수 구문, 매개 변수 목록 뒤에 선언 된 매개 변수 유형 (0) | 2020.10.19 |
---|---|
각 루프에 대한 C #은 어떤 순서로 목록을 반복합니까? (0) | 2020.10.19 |
외부에서 React 컴포넌트 메소드 호출 (0) | 2020.10.19 |
WPF 애플리케이션을 다시 시작하려면 어떻게해야합니까? (0) | 2020.10.18 |
계수 나누기 (%)가 정수에서만 작동하는 이유는 무엇입니까? (0) | 2020.10.18 |