На высоком уровне мы рассмотрим вывод каждой стадии компиляции простой программы C++ при использовании Clang. При этом мы также проследим код в дизассемблированном виде и разберем составляющие ELF-файла...
Краткий экскурс Превращение исходного кода, написанного на компилируемом языке программирования, в исполняемый файл – рабочую программу, производится при помощи программы компилятора. Весь процесс условно можно разделить на два этапа: компиляция и компоновка (на профессиональном языке линковка). При более подробном рассмотрении этап компиляции разделяется на этап препроцессора и сам этап компиляции. Тогда получается следующая последовательность действий, которая представлена на рисунке 1 (все этапы идут в хронологическом порядке)...