首页 > 解决方案 > 如果设置了多个优化标志,clang 会做什么?

问题描述

例如,当您键入时会发生什么clang -O3 -O0

行为是否与中相同gcc?即,除了最后一个优化标志之外的所有优化标志都被忽略(在此处此处描述)?

我在手册页中查找clang但在优化标志部分找不到解释。

它是未定义的行为吗?

标签: cclangclang++

解决方案


我没有支持它的文档,但是这个测试表明它选择了最后一个:

klutt@desktop:/tmp$ clang f.c -O3; ls -l a.out
-rwxr-xr-x 1 klutt klutt 16752 Mar 19 15:37 a.out
klutt@desktop:/tmp$ clang f.c -O0; ls -l a.out
-rwxr-xr-x 1 klutt klutt 16704 Mar 19 15:37 a.out
klutt@desktop:/tmp$ clang f.c -O3 -O0; ls -l a.out
-rwxr-xr-x 1 klutt klutt 16704 Mar 19 15:37 a.out
klutt@desktop:/tmp$ clang f.c -O0 -O3; ls -l a.out
-rwxr-xr-x 1 klutt klutt 16752 Mar 19 15:37 a.out

推荐阅读