繁体   English   中英

编译器选项是什么意思? 和'?',后跟'= -03'

[英]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

  1. 如果尚未定义变量OPTIMIZATION ,则OPTIMIZATION的值为-O3;否则,值为0。

  2. 另一方面,如果定义了变量OPTIMIZATION ,则将跳过此语句,并且OPTIMIZATION将保留其先前的值

GNU make手册中?=运算符的文字

变量还有另一个赋值运算符“?=”。 这称为条件变量赋值运算符,因为它仅在尚未定义变量的情况下才起作用。

所以,这句话

OPTIMIZATION?=-O3

表示如果定义了OPTIMIZATION ,则将其忽略;否则,请定义并分配值-03

-03为编译器标志表示在优化级别3进行编译。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM