Двоичные файлы компилятора являются «драйвером компилятора» (т. Е. gcc
) и самим компилятором, который также выступает в качестве препроцессора (cc1
или cc1plus
).Он также вызывает ассемблер (as
) и компоновщик (ld
).Кроме того, есть инструмент под названием collect2
, который в некоторых случаях помогает в процессе компоновки.
Если вы хотите увидеть, что такое промежуточные состояния и вызовы, то сделайте следующее:вы хотите увидеть этапы оптимизации компилятора, а затем использовать эти параметры:
gcc -fdump-tree-all -fdump-rtl-all ....
Это создает (неопределенно) удобочитаемые дампы внутреннего состояния для целей отладки.Это ничего, что вы могли бы сохранить и перезагрузить в компилятор позже, это точно, но это полезно, если вы планируете изменить исходный код компилятора или написать плагин GCC.