Выберите бинарный C в соответствии с окружающей средой

Я скомпилировал свой код с определенными флагами (-Os, -O2, -march = native и их комбинации), чтобы ускорить выполнение.

Но моя проблема в том, что я не всегда работаю на одной и той же машине (потому что в моей лаборатории есть несколько разных машин). Иногда я работаю в MacOS или в Linux (в обоих случаях с разными версиями ОС).

Интересно, есть ли способ определить, какой двоичный файл будет запущен, в зависимости от среды, в которой будет работать двоичный файл (я имею в виду размер кэша, ядра процессора и другие свойства конкретной машины)? Другими словами, как выбрать (когда программа загружается) более быстрый двоичный файл (ранее скомпилированный с различными целевыми двоичными размерами и расширениями набора команд) в соответствии с конкретной используемой машиной?

Заранее спасибо.

Ответы на вопрос(4)

Ваш ответ на вопрос