Abhängig vom Betriebssystem eine Methode aufrufen

  • C++

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von KidRick.

    Abhängig vom Betriebssystem eine Methode aufrufen

    Heyo,

    ich bin gerade an einem firmeninternen Projekt zu Gange. Es besteht teils aus C++ (Backend) und teils PHP, HTML, CSS und JS (Frontend).

    Nun, an sich die Programmierung in C++ ist nichts all zu Schwieriges, allerdings komme ich an einer Stelle nicht weiter.

    Es gibt eine Liste von Datenbankverbindungen, wo man bei der Verbindung (solange kein Passwort beim Hinzufügen hinzugefügt wurde) ein Passwort angeben muss.
    Ich will das Ganze sicher machen, da unter Anderem die Möglichkeit besteht, dass es irgendwann noch verkauft wird.
    D.h.: Wie bei Linux, soll die Eingabe der Passwörter unsichtbar bleiben.
    Ich habe sowohl für Linux, als auch Windows Code, der genau das erreicht, allerdings weiß ich nicht, wie ich das Konditionieren kann (ich glaube das ist das richtige Wort?), sodass es auf Linux-System läuft, und auch auf Windows-Systemen, ohne dass ich großartig was am Code ändern muss (ich programmiere das ganze auf Windows 10, unsere Server laufen unter Debian und CentOS).
    Sprich, einfach für beide Systeme compilen und läuft.

    Wie kann ich das am Besten machen?
    Mit einem Preprocessor für jedes System zwei Methoden deklarieren, die das ein- und ausschalten, oder bilde ich mir nur ein, dass das geht?

    Ich bin gerade ein bisschen am Verzweifeln :/

    Vielen Dank im Voraus für eure Hilfe!
    "Nichts ist unendlich, bis auf die menschliche Dummheit" - Albert Einstein
    "Man sollte nicht alles vertrauen, was im Netz steht" - Abraham Lincoln
    Ggf. findest Du bei Qt was, die sind für viele Betriebssysteme gerüstet, da gibt es glaub ich Umgebungsvariablen für das supportete Betriebssystem.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    RodFromGermany schrieb:

    findest Du bei Qt was

    Hab mir dafür mal eine ganze Liste angelegt^^

    Quellcode

    1. Systems:
    2. #ifdef Q_OS_DARWIN -> mac machine
    3. #ifdef Q_OS_MSDOS -> MS-DOS
    4. #ifdef Q_OS_2 -> os/2 system
    5. #ifdef Q_OS_WIN32 -> Win32 (standard windows)
    6. #ifdef Q_OS_WINCE -> WinCE (windows ce)
    7. #ifdef Q_OS_CYGWIN -> Cygwin
    8. #ifdef Q_OS_SOLARIS -> Sun Solaris
    9. #ifdef Q_OS_LINUX -> Linux machine
    10. #ifdef Q_OS_FREEBSD -> FreeBSD
    11. #ifdef Q_OS_BSDI -> BSD/OS
    12. #ifdef Q_OS_BSD4 -> any BSD 4.x system
    13. #ifdef Q_OS_UNIX -> any UNIX and UNIX like system
    14. Window managers:
    15. #ifdef Q_WS_MACX -> Mac OS X (default mac)
    16. #ifdef Q_WS_MAC9 -> Mac OS 9 and below
    17. #ifdef Q_WS_WIN32 -> Windows
    18. #ifdef Q_WS_X11 -> X Window system
    Software being "Done" is like lawn being "Mowed". (Jim Benson)