Anzeige:
Ergebnis 1 bis 6 von 6

Thema: [C(++)] Plattformabhängige Kompilerdirektiven

  1. #1
    Registrierter Benutzer Avatar von Stanislaus
    Registriert seit
    04.07.2003
    Ort
    Mönchengladbach
    Beiträge
    80

    [C(++)] Plattformabhängige Kompilerdirektiven

    Moin, moin!

    Ich suche mir nun schon seit einiger Zeit einen Wolf um rauszufinden, welche Compilerdirektiven ich benötige um je nach Plattform bestimmte Codeabschnitte zu bauen.
    Mein Problem ist z.B., daß ich unter Linux die Funktion sleep() und unter Windows Sleep() benötige.
    Was ich suche sind in etwa direktiven wie __LINUX__ oder __WIN32__ allerdings hab ich bisher nur Compilerspezifische gefunden: __BORLANDCC__ etc...

    Gibt es überhaupt Plattformdirektiven, die jedem Compiler zur Verfügung stehen und wenn ja wie heißen diese?
    Für MacOS X bräuchte ich eigentlich auch noch sowas.

    Besten Dank und bis neulich ...

  2. #2
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Es gibt da offensichtlich verschiedenste Macros.

    Qt definiert darum ausgehend von diesen sehr unterschiedlichen in qglobal.h eigene Macros, zb Q_OS_WIN32

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  3. #3
    Registrierter Benutzer Avatar von Stanislaus
    Registriert seit
    04.07.2003
    Ort
    Mönchengladbach
    Beiträge
    80
    hmmm.. so weit war ich auch schon. Trotzdem Danke!
    wxWidgets bietet z.B. WXWIN, WXGTK oder WXMAC. Allerdings gehts bei meinem aktellen Problem um einen C++ Wrapper für OpenSSL, der in reinem C++ (bzw. teilweise C) geschrieben ist und bis auf ein paar Kleinigkeiten problemlos unter Win, Mac und Linux kompiliert.
    Nur wie grenze ich diese Kleinigkeiten je nach System aus?

    Bis neulich ...

  4. #4
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Du kannst ja zb in den entsprechenden wxWidgets Header schauen und die Checks in einen eigenen Header kopieren und dort dann deine Macros definieren.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  5. #5
    Registrierter Benutzer Avatar von Stanislaus
    Registriert seit
    04.07.2003
    Ort
    Mönchengladbach
    Beiträge
    80
    Zitat Zitat von anda_skoa
    Du kannst ja zb in den entsprechenden wxWidgets Header schauen und die Checks in einen eigenen Header kopieren und dort dann deine Macros definieren.
    Eben das wollte ich vermeiden. Aber wenns nicht anders geht werd ich mich wohl am WE mal dransetzen.

    Besten Dank!

  6. #6
    Registrierter Benutzer Avatar von Stanislaus
    Registriert seit
    04.07.2003
    Ort
    Mönchengladbach
    Beiträge
    80
    So, nu hab ich doch noch etwas gefunden.

    Borland bietet wohl __WIN32__ an. Und GCC, je nach Plattform z.B. __LINUX__ oder __CYGWIN32__.
    Nachher mal gucken, was der GCC unter MacOS ausspuckt.

    Beim GCC kommt man wie folgt an die vordefinierten Direktiven:
    Code:
    gcc -dM -E - < /dev/null
    Bis neulich ...

    edit: Unter MacOS stellt der gcc __POWERPC__ zur Verfügung.
    Geändert von Stanislaus (20-07-2004 um 17:02 Uhr)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •