Betriebssystem ermitteln

Alles rund um die Programmierung mit Qt
CLRS530
Beiträge: 155
Registriert: 8. Oktober 2007 18:00

Beitrag von CLRS530 »

Du gehst mit ifdefs auf Windows, Mac und Unix ein und kannst in den 3 Abschnitten, dann die QSysInfo funktionen, für die 3 Systeme an.
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag von AuE »

ifdef.... diese Variable is doch gesetzt wurden wenn ich zB nen prog unter win32 kompiliere isses en win 32 programm....

und wenn ich´s dann unter linux ausführe dann gibt mir ifdef win32 doch noch immer true?!

ich sehe euere Sachen alle ein...aber ich kann fast net glauben das es keinen weg gibt das OS zur Laufzeit abzufragen.
CLRS530
Beiträge: 155
Registriert: 8. Oktober 2007 18:00

Beitrag von CLRS530 »

Wenn du ein Programm unter Linux ausführst, kompilierst du es doch aber unter Linux und dann ist das für Linux definiert.
Der einzige strittige Punkt wäre, wenn du Wine benutzt, aber an dem Punkt willst du doch wohl ebenso nicht Linux, sondern Windows ausgegeben bekommen. Ich glaube allerdings auch nicht, dass du das meintest.
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag von AuE »

Joa das man pro Betriebssystem kompilieren muss is Klar. Aber wie übersichtlich/gut is nen Quelltext wo der Rückgabetyp von ner menge an ifdefs abhängt. Ich hätte nicht erwartet das es so unschön/ja sagen wir ruhig hässlich ist das OS abzufragen. Hätte eig gedacht das es da einen einfahcen Weg gibt.
CLRS530
Beiträge: 155
Registriert: 8. Oktober 2007 18:00

Beitrag von CLRS530 »

Das du auch mit Qt nicht ohne bedingte Formatierung umherkommst, wenn du nicht nur absolut simple Sachen machen möchtest ist klar. Aber seit wann wird der return davon beeinflusst. Du hast gerade einmal 3 ifdefs, wo du dein String verschieden befüllst, den du am Ende ausgibst. Das ist nicht viel unübersichtlicher als normale if Abfragen.
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag von AuE »

Es ist aber umständlich und unschön - können wir das zum. festhalten?

Ich sehe die Sachen alle ein und weiß die Dinge die du sagst nur ich hab schon mal in ner Firmware wa geproggt wo ich durch eine Megadatei lauter ifdefs durch bin.... ich find es ist bescheiden da durchzublicken!!
The User
Beiträge: 62
Registriert: 11. Dezember 2008 23:48

Beitrag von The User »

Mach eine Funktion draus, dann ist es nicht mehr umständlich.
Über die paar Zeilen muss man sich doch nicht aufregen??
Antworten