Gibt es eine Möglichkeit, Ihr Betriebssystem mit Ihrem C/C++ - Code automatisch zu erkennen? Ich brauche das für das Ausführen von plattformübergreifendem Code für Linux, Windows, sogar auf einem Raspberry Pi. Ich versuche das Betriebssystem automatisch zu erkennen, damit ich nicht in die Situation komme, dass ich nach dem Betriebssystem fragen muss, das auf dem Rechner als Eingabe läuft.Autodetection des Betriebssystems in C/C++
Ich dachte über einen Hack nach, der die Struktur des Dateisystems oder etwas ähnliches überprüft, ich weiß nicht, ob ich etwas mache oder nicht.
Die Antwort darauf hängt wirklich davon ab, was Sie mit dem Unterschied erreichen wollen. Normalerweise ist es richtig, vordefinierte Makros wie Jeegar Patel zu verwenden, aber es ist oft auch nützlich, dies im Build-System zu erkennen und den richtigen Compiler auszuwählen. –
Auf POSIX-Systemen, wenn Sie nativ bauen (keine Cross-Compilierung), Sie könnten 'uname' in den Build-Befehlen verwenden. –
Sie wollen eine Binärdatei, die magisch auf verschiedenen Betriebssystemen ausgeführt werden kann und dann zur Laufzeit erkennt, auf welchem Rechner sie läuft? Auf keinen Fall. Ich denke, dass C++ möglicherweise die falsche Lösung für Ihr Problem ist, was auch immer das sein mag. –