Wählen Sie eine C-Binärdatei entsprechend der Umgebung

Ich habe meinen Code mit bestimmten Flags (-Os, -O2, -march = native und deren Kombinationen) kompiliert, um eine schnellere Ausführungszeit zu erzielen.

Aber mein Problem ist, dass ich nicht immer auf demselben Computer laufe (weil es in meinem Labor mehrere verschiedene Computer gibt). Manchmal arbeite ich unter MacOS oder Linux (in beiden Fällen mit unterschiedlichen Betriebssystemversionen).

Ich frage mich, ob es eine Möglichkeit gibt, zu bestimmen, welche Binärdatei in Abhängigkeit von der Umgebung ausgeführt wird, in der die Binärdatei ausgeführt wird (ich meine die Cachegröße, die CPU-Kerne und andere Eigenschaften des jeweiligen Computers). Mit anderen Worten, wie wählt man (wenn das Programm lädt) die schnellere Binärdatei (die zuvor mit unterschiedlichen Zielbinärgrößen und Befehlssatzerweiterungen kompiliert wurde) entsprechend der verwendeten Maschine aus?

Danke im Voraus

Antworten auf die Frage(8)

Ihre Antwort auf die Frage