Knowledge base of issues related to 64-bit and parallel software development

The main method of promoting our program product PVS-Studio is to tell the developers about the type issues this tool can solve.

Note. PVS-Studio is an add-in module for Visual Studio 2005/2008 (and 2010 soon) that allows you to detect a lot of various errors in 64-bit and parallel OpenMP applications. PVS-Studio is a contemporary interactive static C/C++ code analyzer. By 'interactive', for instance, we mean the capability of warning filtration and suppression without relaunching the analysis.

The main way of promoting our tool is to write and publish technical papers on various programmer sites, for example: CodeProject, Intel Software Network, DreamInCode. Of course, all our articles are available on our site as well.

We found out with time that not every idea/material may be conveniently presented in the form of an article. Some notes were too small and could not pretend to be papers while we did not want to enlarge them artificially. Some other notes concerned only one particular feature of PVS-Studio and did not tend to be papers too. So we decided to create a blog on our site and have been publishing various ideas there since that moment.

Absence of explanations of some terms that could be not quite clear to the readers appeared to be another drawback of our articles. But links and notes overload the text and break the coherence of the articles. We found the way out by creating the section terminology on our site where you may find a lot of explanations and definitions and additional links to external resources.

But we did stop classification of our materials there. Not so long ago we created a new section called "knowledge base ". Here we lay out materials concerning particular questions developers ask when creating 64-bit and parallel software. There are few notes in the base for the present, but we will regularly enlarge it and in some time you will be able to find answers to many most urgent questions there. Now you may see the following posts:

  1. A common error occurring when compiling a 64-bit application: error C2440, OnTimer

  2. A common error occurring when compiling a 64-bit application: error C4235, Assembler

  3. Are the types size_t and uintptr_t equivalent?

  4. Confusion of WPARAM with UINT, and LPARAM with LONG

  5. Difference between %p and %x

  6. Functions of the ntohl/htonl class and 64-bit values

  7. Is there a way to make the type size_t 32-bit in a 64-bit program?

  8. Obsolete descriptions of functions in MSDN taking no account of 64 bits

  9. Strange errors occurring when compiling the 64-bit version of an application, error C2664

  10. Visual Studio Team System, /analyze and D9040

  11. Warning C4267 in the expression unsigned n = str.find(substr)

  12. Where is the 64-bit compiler in Visual Studio?

  13. Why does WoW64 use register and file system redirection?

  14. Working with the type size_t in the functions prinft, scanf and similar functions

For more complete information about compiler optimizations, see our Optimization Notice.