Libraries like SDL, Qt, Glut, FreeGlut, Allegro, ClanLib, <Insert endless list here> are all libraries that plainly wrap OS-dependent code into one library, usually with a load of preprocessor-defines and #ifdefS. On Windows, there is (I believe) no way to go deeper than the Win32 API (unless you consider driver development deeper), there's no way you can say "Oh, I don't like the Win32 way of handling floppies, I'm going to write my own that uses BIOS interrupts.", cause that just won't work.Tomaka17 wrote: - Qt, SDL, etc. are just libraries that are hiding OpenGL or o/s-dependent calls
In these libraries, you get something like (very basic):
Code: Select all
#ifdef _WIN32
//We're on Windows
#elif defined(__linux)
//We're on Linux.
//Add more platforms here.
#endif
Code: Select all
#ifdef _WIN32
//We're on Windows
# ifdef _MSC_VER
//We're on Windows with Visual C++.
# endif
#elif defined(__linux)
//We're on Linux.
//Add more platforms here.
#endif