Обычно объектные файлы, выводимые компилятором, имеют определенный формат, например, ELF в Linux и т. Д., Mach-O в macOS и COFF / PE в Windows.
Теперь предположим, что исходный кодсовместимы на разных платформах.Существует ли форма «объектных файлов», которые не зависят от формата?В том смысле, что двоичный файл этого «независимого от формата формата» может быть «преобразован» или «понижен» до реальных объектных файлов в любом формате (ELF / mach-O / ..) позже.
Двоичная форма LLVM IR является хорошим примером, поскольку она может быть сведена к машинному коду.Однако LLVM IR не зависит от ISA, поэтому он недостаточно низкоуровневый.Предполагая, что дан ISA (например, x86_64), могу ли я пойти еще ниже от ISA-независимого к форматно-независимому?