GNU/Linux >> Belajar Linux >  >> Linux

Kompilasi C++ di Windows dan Linux:sakelar ifdef

Saya tahu ini bukan jawaban tetapi ditambahkan jika seseorang terlihat sama di Qt

Di Qt

https://wiki.qt.io/Get-OS-name-in-Qt

QString Get::osName()
{
#if defined(Q_OS_ANDROID)
    return QLatin1String("android");
#elif defined(Q_OS_BLACKBERRY)
    return QLatin1String("blackberry");
#elif defined(Q_OS_IOS)
    return QLatin1String("ios");
#elif defined(Q_OS_MAC)
    return QLatin1String("osx");
#elif defined(Q_OS_WINCE)
    return QLatin1String("wince");
#elif defined(Q_OS_WIN)
    return QLatin1String("windows");
#elif defined(Q_OS_LINUX)
    return QLatin1String("linux");
#elif defined(Q_OS_UNIX)
    return QLatin1String("unix");
#else
    return QLatin1String("unknown");
#endif
}

Itu tergantung pada kompiler yang digunakan.

Misalnya, definisi Windows dapat berupa WIN32 atau _WIN32 .

Dan definisi Linux bisa jadi UNIX atau __unix__ atau LINUX atau __linux__ .


Anda dapat melakukan:

#if MACRO0
    //code...
#elif MACRO1
    //code...
#endif

…di mana pengidentifikasi dapat berada:

    __linux__       Defined on Linux
    __sun           Defined on Solaris
    __FreeBSD__     Defined on FreeBSD
    __NetBSD__      Defined on NetBSD
    __OpenBSD__     Defined on OpenBSD
    __APPLE__       Defined on Mac OS X
    __hpux          Defined on HP-UX
    __osf__         Defined on Tru64 UNIX (formerly DEC OSF1)
    __sgi           Defined on Irix
    _AIX            Defined on AIX
    _WIN32          Defined on Windows

gunakan:

#ifdef __linux__ 
    //linux code goes here
#elif _WIN32
    // windows code goes here
#else

#endif

Linux
  1. Interoperabilitas Windows dan Linux:Sekilas tentang Samba

  2. Cara dual boot Windows 10 dan MX Linux

  3. Nova-agent (Linux) dan agen Rackspace (Windows)

  1. Cara Mengakses Sistem File Linux di Windows 10 dan WSL 2

  2. Kali Linux 1.0.5 dan Radio yang Ditentukan Perangkat Lunak

  3. Mendeteksi Windows atau Linux di C, C++

  1. Aktifkan dan jalankan podman di Windows menggunakan Linux

  2. Bagaimana saya membantu ibu saya beralih dari Windows ke Linux

  3. Buat koneksi SSH antara Windows dan Linux