Developer Guide and Reference

Contents

guard

Enables the control flow protection mechanism.

Syntax

Linux:
None
macOS:
None
Windows:
/guard:
keyword
Arguments
keyword
Specifies the the control flow protection mechanism. Possible values are:
cf[-]
Tells the compiler to analyze control flow of valid targets for indirect calls and to insert code to verify the targets at runtime.
To explicitly disable this option, specify
/guard:cf-
.
Default
OFF
The control flow protection mechanism is disabled.
Description
This option enables the control flow protection mechanism. It tells the compiler to analyze control flow of valid targets for indirect calls and inserts a call to a checking routine before each indirect call to verify the target of the given indirect call.
The
/guard:cf
option must be passed to both the compiler and linker.
Code compiled using
/guard:cf
can be linked to libraries and object files that are not compiled using the option.
This option has been added for Microsoft compatibility. It uses the Microsoft implementation.
Alternate Options
None