Ich suche nach den Standard-Compiler-Flags, die während der Kompilierung verwendet werden. Deshalb habe ich den Befehl gcc -Q -v <example.c>
die Ausgabe von Interesse sieht wie folgt aus:Was ist der Unterschied zwischen "options enabled" und "options passand"? Usind gcc -Q -v
GNU C (Ubuntu 4.8.4-2ubuntu1 ~ 14.04.3) Version 4.8.4 (x86_64-linux-gnu) von GNU zusammengestellt C Version 4.8.4, GMP-Version 5.1.3, MPFR Version 3.1.2-p3, MPC Version 1.0.1
GGC Heuristik: --param GGC-min-expand = 100 --param GGC-Min- hopsize = 131072
Optionen bestanden: -v -imultiarch x86_64-linux-gnu Beispiel.c -mtune = generisch -march = x86-64 -stack-protector -Wform bei -Wformat-Sicherheit
Optionen aktiviert: -faggressive-Loop-Optimierungen -fasynchronous-Abroll-Tabellen -fauto-inc-dec -fbranch-count-reg -fcommon -fdelete-null-pointer-checks -fdwarf2- cfi-asm -fearly-inlining -feliminate-unbenutzt-debug-types -ffunction-cse -fgcse-lm -fgnu-runtime -fgnu-eindeutig -fident -finline-atomics -ira-hoist-pressure -fira-share-save- slots -fira-share-spill-slots -fivopts -fkeep-statisch-contests -fleading-unterstreichen -fmath-errno -fmerge-debug-strings -fmove-loop-invarianten -fpeephole -fprefetch-loop-arrays -freg-struct- return -sched-critical-path-heuristik -fsched-dep-count-heuristik -fsched-group-heuristik -fsched-interblock -fsched-last-insn-heuristik -fsched-rank-heuristik -fsched-spec -fsched-spec- insn-heuristic -fsched-stalled-insns-de -fshow-column -fssigned-zeros -fsplit-ivs-in-entroller -fstack-protector -fstrict-v oilite-bitfields -fsync-libcalls -ftrapping-math -tretree-coalesce-vars -tretree-cselim -tretre-forprop -tretree-loop-if-convert -tretree-loop -im -tretree-loop-ivcanon -tretree-loop- optimize -treree-parallelize-loops = -tree-phiprop -tretre-pta -tretre-reaclo -tree-scev-cprop -tretre-slp-vectorize -tretre-vect-loop-version -funit-at-a-time-funwind -tables -fvar-tracking -fvar-tracking-zuweisungen -fzero-initialisiert-in-bss -m128bit-lang-doppelt -m64 -m80387 -maccumulate-outgoed-args -malign-stringops -mfancy-math-387 -mfp-ret -in-387 -mfxsr -mglibc -mieee-fp -MLONG-double-80 -mmmx -MnO-SSE4 -mpush-args -mred Zone -msse -msse2 -mtls-direct-seg-refs
Ich frage mich jetzt: Was ist der Unterschied zwischen Optionen aktiviert und Optionen bestanden?
Bedeutet dies, dass in dieser Kompilierung Optionen übergeben und Optionen aktiviert sind, um example.c zu kompilieren? Warum unterscheiden sie zwischen diesen beiden? – Maximilian
Aufgrund übergebener Optionen sind diese Optionen standardmäßig nicht aktiviert und müssen an den Befehl übergeben werden, um sie zu aktivieren. – LPs
aber am Ende sind alle Compiler-Optionen (Optionen übergeben und Optionen aktiviert) eingestellt, um zu kompilieren, oder?Haben Sie eine Quelle, die das erklärt? – Maximilian