Ich weiß, dass, wenn Sie GCC als solche ausführen:Wie verhält sich GCC, wenn es konkurrierende Compiler-Flags passiert?
gcc -O3 -O2 foo.c
GCC geleitet, um die letzte Optimierung Flag (in diesem Fall O2
) verwenden. Aber gilt das für alle Flaggen? Zum Beispiel, wenn ich GCC ausführen wie folgt:
gcc -mno-sse -msse bar.c
Werde es SSE unterstützen, da dies die letzte Flagge übergeben ist, oder würde dieses Ergebnis in undefiniertem Verhalten? Meine ersten Experimente scheinen darauf hinzuweisen, dass SSE unterstützt wird, aber ich bin nicht sicher, ob dies für alle Fälle zutrifft.
Es ist möglicherweise erwähnenswert, dass gcc immer noch in den "späteren Optionen auf der Linie überschreiben, die zuvor bestanden" Weg, auch in Ihrem Beispiel. Es gibt nur eine Warnung. – codetaku