Intel Threading Building Blocks (TBB)
Intel® Threading Building Blocks (Intel® TBB) is an award-winning C++ template library that abstracts threads to tasks to create reliable, portable, and scalable parallel applications. Just as the C++ Standard Template Library (STL) extends the core language, Intel TBB offers C++ users a higher level abstraction for parallelism. To implement Intel TBB, developers use familiar C++ templates and coding style, leaving low-level threading details to the library. It is also portable between architectures and operating systems. With Intel TBB, developers get the benefits of faster programming, scalable performance, and easier to maintain code.
Parallel Pattern Library
The new Parallel Pattern Library (PPL) enables you to express parallelism in your code and how the asynchronous messaging APIs can be used to separate shared state and increase your application’s resilience and robustness.
1. Four Ways to Use the Concurrency Runtime in Your C++ Projects
2. Concurrency Runtime
The Concurrency Runtime is a concurrent programming framework for C++. The Concurrency Runtime simplifies parallel programming and helps you write robust, scalable, and responsive parallel applications.
The features that the Concurrency Runtime provides are unified by a common work scheduler. This work scheduler implements a work-stealing algorithm that enables your application to scale as the number of available processors increases.
OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in C/C++ and Fortran on all architectures, including Unix platforms and Windows NT platforms. Jointly defined by a group of major computer hardware and software vendors, OpenMP is a portable, scalable model that gives shared-memory parallel programmers a simple and flexible interface for developing parallel applications for platforms ranging from the desktop to the supercomputer.
Additional:
Microsoft Application Verifier
Application Verifier is designed specifically to detect and help debug memory corruptions and critical security vulnerabilities.
This is achieved by monitoring a native application’s interaction with the Windows operating system, profiling its use of objects, the registry, the file system, and Win32 APIs (including heaps, handles, locks, etc), and indicating issues when and where they are discovered.
Application Verifier also includes checks to predict how well an application may perform under various account privileges. These compatibility tests are used in Windows Logo program.
Print verification tests are also available to verify your usage of the print subsystem.
Additional links:
Visual C++ Compiler Options: /showIncludes (List Include Files)
Causes the compiler to output a list of the include files. Nested include files are also displayed (files that are included from the files that you include).
When an include file is encountered during compilation, a message is output, for example:
Note: including file: d:\MyDir\include\stdio.h
Visual Studio 2008 Overview
создание .PDB файлов для Release
Во время компиляции отладочная информация складывается в .obj:
CPP_PROJ_RELEASE=/MT /O2 /Z7
CPP_PROJ_DEBUG=/MTd /Od /Z7
При линковке /debug включает генерацию PDB:
CPP_PROJ=$(CPP_PROJ_COMMON) $(CPP_PROJ_RELEASE) $(CPP_ADD_32) /Zp4
LINK32_FLAGS=$(LINK_COMMON) /debug /incremental:no /machine:i386