Подобно GCC, clang поддерживает остановку на разных этапах обработки C/C++. Например, передача флага -E
приводит к тому, что он останавливается после того, как препроцессор и -c
останавливаются перед связыванием.
До сих пор я знаю,
-E
: предварительная обработка-fsyntax-only
: проверка синтаксиса-S
: сборка-c
: объектный кодЯ пропустил какие-либо точки остановки между ними или это так?
Вы также можете использовать -S -emit-llvm
для генерации файлов сборки LLVM IR и просто -emit-llvm
для файлов объектных файлов LLVM. Это независимые от языка представления кода, которые clang и другие LLVM-интерфейсы генерируют и передают LLVM для компиляции в исполняемый файл.
libc
подключается) в командной строке.