Monthly Archives: June 2014

UseDebugLibraries and Wrong Defaults for VC++ Project Properties

Many of the projects I’m working on seem to have wrong default properties in Debug configuration.  For example, ‘Runtime Library’ is explicitly set to /MDd but defaults to /MD. ‘Basic Runtime Checks’ is explicitly set to /RTC1 but defaults to  … Continue reading

Posted in MSBuild, VC++ | 2 Comments

Reading Specific Monitor Dimensions

Almost 2 years ago I wrote about the proper way of getting the EDID – and in particular the physical monitor size. I did leave a loose end: I actually had to query the dimensions of a specific monitor (specified … Continue reading

Posted in Win32 | 6 Comments

Blogging 101

This is post #101, which makes the previous post #100. When I started all this I didn’t think I’d have 100 things to say.  Glad I was wrong, and hope to still have useful things to say for 100 more … Continue reading

Posted in Musings | Leave a comment

Vector Deleting Destructor and Weak Linkage

Now that the discussions on weak linker symbols and vector deleting destructors are in place, it is time to discuss a fact that might seem esoteric but has far reaching implications. After that, it is time to ask for your … Continue reading

Posted in VC++ | 9 Comments

Executing Code Once Per Thread in an OpenMP Loop

Take this toy loop: Now suppose you want to run some preparation code once per thread – say, SetThreadName, or SetThreadPriority or whatnot.  How would you go about that? If you code it before the loop the code would execute … Continue reading

Posted in C++, VC++ | 5 Comments

On Vector Deleting Destructors and some new/delete internals

A word is due on vector deleting destructors – previously mentioned as the only functions that got weakly bound by the linker. The usual disclaimers apply: everything that follows is my own investigation, in code and online. Nothing here is … Continue reading

Posted in VC++ | 4 Comments

Setting a Watch on Wide Registers in VS

General-purpose registers can be watched from the watch window pretty much as regular variables: (the ‘$’ prefix is optional, but is recommended by MS – probably as means to minimize clashes with code variables.) It is less known that you … Continue reading

Posted in Debugging, VC++ | Leave a comment