/*****************************************************************************/ /*! * \file os.h * \brief Abstraction over different operating systems. * * Author: Alexander Fuchs * * Created: Fri Feb 16 12:00:00 2007 * *
* * License to use, copy, modify, sell and/or distribute this software * and its documentation for any purpose is hereby granted without * royalty, subject to the terms and conditions defined in the \ref * LICENSE file provided with this distribution. * *
* */ /*****************************************************************************/ #ifndef _cvc3__windows_h_ #define _cvc3__windows_h_ // define if cvc3lib built as a dll, comment if cvc3lib is linked statically // #define CVC_DLL_LINKAGE // library export of C++ symbols for C++ windows interface // for dynamic binding dll export needed #ifdef CVC_DLL_LINKAGE #ifdef CVC_DLL_EXPORT #define CVC_DLL __declspec(dllexport) #elif CVC_DLL_IMPORT #define CVC_DLL __declspec(dllimport) #else #define CVC_DLL #endif // for static binding dll export not needed #else #define CVC_DLL #endif /// MS C++ specific settings #ifdef _MSC_VER // CLR specific settings // #ifdef _MANAGED // C99 stdint data types typedef unsigned int uint; typedef signed __int8 int8_t; typedef signed __int16 int16_t; typedef signed __int32 int32_t; typedef signed __int64 int64_t; typedef unsigned __int8 uint8_t; typedef unsigned __int16 uint16_t; typedef unsigned __int32 uint32_t; typedef unsigned __int64 uint64_t; // unix specific settings #else // C99 data types // (should) provide: // int8_t, int16_t, int32_t, int64_t, uint8_t, uint16_t, uint32_t, uint64_tm // intptr_t, uintptr_t #include #endif #endif