Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards


Visual C++ gotchas in VMD

I have discussed throughout the documentation areas of VMD which need to be considered when using Microsoft's Visual C++ compilers with its default preprocessor. The VMD library supports VC++ versions 8 through the latest 14.2. These correspond to Visual Studio 2005 through the current Visual Studio 2019.

I will give here fairly briefly the VC++ quirks which should be taken into account when using VMD. These quirks exist because the VC++ compiler does not have a C++ standard conforming preprocessor with its default preprocessor. More specifically the VC++ compiler does not follow all of the rules correctly for expanding a macro when a macro is invoked. Here is a list for things to consider when using VMD with VC++ and its default preprocessor:

When using VC++ with its new standard conforming preprocessor, which as of now is not its default preprocessor in Visual Studio 2019, none of these problems manifest themselves.