Rozpoznawanie systemu operacyjnego C
Ostatnio zmodyfikowano 2015-12-14 15:41
Dizip Temat założony przez niniejszego użytkownika |
Rozpoznawanie systemu operacyjnego C » 2015-11-20 13:32:49 Wie ktoś może jak w języku C rozpoznać system na jakim program zostanie wywołany. Chciałbym zrobić oddzielne funkcje dla linuxa, freeBSD i sunosa, da rade to wykonać? |
|
1aam2am1 |
» 2015-11-20 15:48:39 |
|
DejaVu |
» 2015-11-20 20:22:02 Tak. Popatrz sobie jak to robi boost albo biblioteka SFML. Przykład oparty o SFML-a: #if defined(SFML_SYSTEM_WINDOWS) #include "!Win32/ClipboardImplWin32.hpp" typedef ddt::wrp::_impl::ClipboardImplWin32 ClipboardImplT; #elif defined(SFML_SYSTEM_LINUX) || defined(SFML_SYSTEM_FREEBSD)
typedef ddt::wrp::Clipboard ClipboardImplT; #elif defined(SFML_SYSTEM_MACOS)
typedef ddt::wrp::Clipboard ClipboardImplT; #endif
Implementacja makr SFML-a: #if defined(_WIN32) || defined(__WIN32__)
#define SFML_SYSTEM_WINDOWS #ifndef NOMINMAX #define NOMINMAX #endif
#elif defined(linux) || defined(__linux)
#define SFML_SYSTEM_LINUX
#elif defined(__APPLE__) || defined(MACOSX) || defined(macintosh) || defined(Macintosh)
#define SFML_SYSTEM_MACOS
#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
#define SFML_SYSTEM_FREEBSD
#else
#error This operating system is not supported by SFML library
#endif
|
|
Dizip Temat założony przez niniejszego użytkownika |
» 2015-12-14 15:41:23 DejaVu, dziękuje za tą odpowiedz. Życie ratujesz ;) |
|
« 1 » |