Я хотел бы оптимизировать двоичный файл для удаленной машины. На локальной машине я могу просто передать
g++ -mtune=native
flag и (в идеальном случае) компилятор выбирает доступные наборы инструкций.
Как мы можем сделать это для удаленной машины? Идеальным вариантом было бы передать удаленную машину
/proc/cpuinfo
в gcc. Есть ли способ сделать это автоматически?
Возможна ли кросс-компиляция? Вы можете создать (на локальном) бинарный файл, оптимизированный по своему усмотрению, и передать его на удаленный компьютер.
Моя проблема связана с частью «как хочешь». Потому что я не знаю, какие флаги оптимизации допустимы. Если я включу неподдерживаемый набор инструкций, удаленная машина прекратит работу с недопустимой инструкцией. Я не хочу, чтобы набор инструкций проходил через набор инструкций, передавая десятки флагов вручную.





Если можно запустить gcc на удаленном компьютере для быстрой проверки, здесь есть несколько полезных методов: stackoverflow.com/questions/5470257/…