Reserved Identifiers


When compiling programs that include the Microsoft® DirectShow™ header files, it is important to be aware of the following identifiers and their meanings, if they are defined before the DirectShow headers are included.

These identifiers are, in effect, reserved except as described in the following list.
DEBUG Indicates a debug build. This enables many debug facilities, including message logging and assertion checking.
PERF Indicates a performance (measurement) build.
VFWROBUST Enables some pointer validation macros in a build of any kind. See ValidateReadPtr and related macros for more specifics.

Build Types

A retail build is the smallest and fastest build, although perhaps not as robust as a debug build. A retail build is the default if neither a debug build nor a performance build is requested.

A debug build is generally the largest and slowest build. However, it provides better facilities for debugging new code and tracking problems. Defining the DEBUG identifier requests a debug build.

A performance build adds measurement capabilities to a retail build. Defining the PERF identifier requests a performance build. The performance build requires one additional file: Measure.dll.

Caveat: Mixing Build Types

If debug and retail binaries are mixed, the results are undefined. The results of mixing debug and retail object files in one binary are also undefined.

© 1997 Microsoft Corporation. All rights reserved. Terms of Use.