cppconlib: A C++ library for working with the Windows console

This project has been moved to GitHub. New location: https://github.com/mariusbancila/cppconlib Many years ago I published on my blog a helper class for working with the Windows console that was wrapping the Windows console API. Looking back at it I realized it was a pretty naive implementation. So I decided to start a new and make … Read more

Peek Definition in Visual Studio 2013

Go to definition (F12 in Visual Studio) is such an intensively used command, but it opens a new window for the document. Visual Studio 2013 adds a new go to definition command that actually displays the definition inline, in the same window. It’s called Peek Definition and the shortcut is ALT+F12. It opens an embedded … Read more

Visual Studio 2012 Debugger Visualizer for CPtrArray

CPtrArray is a nasty MFC container that should not be used. However, if you deal with legacy code you may not have a choice and have to work with it. Unfortunately, the Visual Studio debugger is not able to display its elements, since these are pointers to void and that can be anything. In this … Read more

Visual Studio 2013 User Profile

Visual Studio 2013 provides developers with the ability to sign in with a Microsoft account and synchronize settings across devices (and as new versions will be released across different versions of Visual Studio). When you first launch Visual Studio 2013 you are asked to sign in (you can skip that and do it any time … Read more

error C3510: cannot locate dependent type library ” {bed7f4ea-1a96-11d2-8f08-00a0c9a6186d} v.2.4

Problem I have recently migrated a C# 2.0 project registered for COM interop to .NET 4.5 and when I imported the type library in a C++ project with no_registry, suddenly I got some errors because the type library could not be imported. Here are the steps to reproduce: create a .NET Class Library project and … Read more

How to Determine What Process Loaded a DLL

Trying to figure out in which process a particular DLL is currently loaded, I have found two solutions (perhaps there are more). Solution 1: tasklist.exe tasklist /m <modulename>.dll Solution 2: listdlls.exe (from sysinternals) listdlls -d <modulename>.dll It might be that listdlls is more reliable than tasklist. I have ran into cases when tasklist failed to … Read more

T4 Lessons Learned

Working with T4 recently I learned a couple of valuable lessons I’d like to share. Lesson 1: Template Language One of the parameters of the language directive is the language, which specifies the language used in the code blocks of the template. Two languages are specified, C# and VB. <#@ template language=”C#” #> However, any … Read more