Вы можете попросить GCC до dump его внутреннее (Gimple, ...) представлений , на различных "этапах".Средний конец GCC состоит из сотен проходов, и вы можете попросить GCC сбросить их с аргументами , такими как -fdump-tree-all
или -fdump-gimple-all
;имейте в виду, что вы можете получить сотни файлов дампа для одной компиляции!
Однако, внутренние представления GCC находятся на довольно низком уровне, и вы не должны ожидать, что поймете их, не прочитав много материала.
Опции дампа, о которых я упоминаю, в основном полезны для тех, кто работает внутри GCC или расширяет его с помощью плагинов с кодом C или расширений с кодом MELT (высокий-уровень языка для расширения GCC).Я не уверен, что они будут очень полезны для вашего друга.Тем не менее, они могут быть полезны для того, чтобы вы поняли, что этапы оптимизации выполняют сложную обработку.
И не забывайте, что преждевременная оптимизация - это зло : сначала вы должны запустить программуправильно, затем сравните и профилируйте его, наконец, оптимизируйте несколько частей ваших усилий.Вероятно, вы не сможете писать правильные и эффективные программы, не протестировав и не запустив их самостоятельно, прежде чем отдать их своему другу.