[英]what do the compiler options mean? and '?'followed by '=-03'
/ redis / deps / hiredis / Makefile
CC:=$(shell sh -c 'type $(CC) >/dev/null 2>/dev/null && echo $(CC) || echo gcc')
OPTIMIZATION?=-O3
WARNINGS=-Wall -W -Wstrict-prototypes -Wwrite-strings
DEBUG?= -g -ggdb
编译器选项是什么意思? 和'?',后跟'= -03'?
为OPTIMIZATION?=-O3
如果尚未定义变量OPTIMIZATION
,则OPTIMIZATION的值为-O3;否则,值为0。
另一方面,如果定义了变量OPTIMIZATION
,则将跳过此语句,并且OPTIMIZATION
将保留其先前的值
GNU make手册中有?=
运算符的文字
变量还有另一个赋值运算符“?=”。 这称为条件变量赋值运算符,因为它仅在尚未定义变量的情况下才起作用。
所以,这句话
OPTIMIZATION?=-O3
表示如果定义了OPTIMIZATION
,则将其忽略;否则,请定义并分配值-03
。
-03
为编译器标志表示在优化级别3进行编译。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.