The Wayback Machine - https://web.archive.org/web/20110921230607/http://www.codeguru.com:80/cpp/misc/misc/compilerandpre-compiler/

    Compiler and Pre-Compiler

    C++ CLR Compilation

    The Visual C++ compiler has a number of switches that control the generation of native and managed instructions within an executable image. Choosing the correct setting is an important consideration for application performance, deployment, and execution, as well as having implications about which development toolkits can be used.

    Function Calls, Part 4 (What Exactly Is "this"?)

    Learn about a dissasembly view of function calls, and decipher the __thiscall calling convention.

    Function Calls, Part 3 (Frame Pointer and Local Variables)

    Explore a dissasembly view of function calls, including organization of the stack for local variables and the concept of stack frames and frame pointers.

    Tip: Macros to Generate Compile Time Messages

    These macros let you generate clickable messages (like error messages) in your Visual Studio compiler output.

    Method Call Interception (MCI) in C++ (not yet reviewed)

    Implementing MCI in C++ using compiler / platform specific features.

    Breaking Changes in Visual C++ 2005

    There are a number of changes in Visual C++ 2005 that can break your existing programs. The Visual C++ product team has identified some of the changes most likely to impact you.

    [Updated] Cygwin: Free C++ for Windows

    Windows users who want to learn C++ often ask if there is a free C++ compiler. Linux users don't have this problem because they have the GNU tools. But, in fact, the exact same tools are available free from Cygwin, and if you learn to use them, your skills will be extremely portable. Learn to install and use the tools, compile a simple program, and write a simple makefile.

    Running Code Before and After Main

    There is a partially documented feature in the Microsoft C/C++ runtime libraries that allows you to run code before the main function (main, WinMain or DllMain) is called, and after it returns.

    Maximum Munch Principle

    Because of the Maximum Munch Tokenization Principle, or simply Maximum Munch Principle, C++ implementations have to consider as many characters as possible when tokenizing a listing during compilation. Because of this principle, there are times when you will need to use white space between operators to avoid errors.