|
тогда даже для относительных переходов, которые компилятор в объектный код вставляет "намертво", а не перемещаемыми записями - придётся делать записи перемещаемыми, чтобы линкер мог их корректировать (если это был обход кода, который ушёл в подпрограмму).
Потом захочется в линкере же длинные переходы превращать в короткие там, где расстояние сократилось...
Это линкеру слишком много знать надо.
Смысла особого в этом нет, просто это другой подход - глобальная оптимизация программы, когда оптимизатор работает со всеми исходными текстами (т.е. компиляция в объектные файлы отсутствует). Там заодно и использование регистров в один проход (а не в несколько, как это делается в связках компилятор+линкер) учесть можно по всей программе, и inline сделать кому имеет смысл и ещё может что наиграть.
E-mail: info@telesys.ru