|
Boost : |
From: Ulrich Eckhardt (uli_at_[hidden])
Date: 2005-04-07 00:00:47
On Monday 04 April 2005 17:51, Stefan Slapeta wrote:
> Gennadiy Rozental wrote:
> > Does anybody know a reliable way to workaround this? Why _WIN32_WINNT
> > isn't defined by default? Could we define it in Jamfiles or Boost.Build
> > sources?
>
> The problem is that if you define it, the code will not execute on Win95
> (at least for _WIN32_WINNT=4; higher values have more restrictions, of
> course). I don't know if there's really a huge problem with this.
Using that inside a library would make the lib unusable on win95 though. Much
better is the approach taken for (IIRC) TryLockMutex in the threads library:
try to retrieve a function pointer at runtime via GetProcAddress().
Also an idea:
namespace boost{
// wrapper around platform specific means to detect and activate a debugger
namespace debugger {
// detect presence
bool present();
// create a break to enter the debugger
void enter();
}
}
/** special versions as macros that enter the debugger at the point of use and
not inside debugger::enter(), if available. Purely for debugging convenience.
*/
#if __x86
// enter debugger via int13
# define BOOST_DEBUG_BREAK int13()
#else
// default
# define BOOST_DEBUG_BREAK ::boost::debugger::enter()
#endif
Uli
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk