C/C++ Compiler (cl.hlp) (
Table of Contents;
Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software,
purely for historical purposes.
If you're looking for up-to-date documentation, particularly for programming,
you should not rely on the information found here, as it will be woefully
out of date.
Optimization Options
◄Up► ◄Contents► ◄Index► ◄Back►
─────C/C++ Compiler─────────────────────────────────────────────────────────
Optimization selections make your program smaller or faster by
eliminating unnecessary instructions and rearranging code.
Option Description
◄/Oa► Specifies that aliases do not exist in your code;
you must ensure that they do not
◄/Ow► Specifies that aliases might occur across function
calls
◄/Oc► Enables block-level common subexpression optimization:
allows the compiler to calculate the value of a common
subexpression once (default)
◄/Og► Enables global-level common subexpression optimization:
allows the compiler to calculate the value of a common
subexpression once
◄/Od► Disables optimization
◄/Oe► Disables register keyword and allows storage of
frequently used variables and subexpressions in
registers
◄/Ol► Enables loop optimizations: allows moving or rewriting
code so that it executes faster
◄/Op► Improves floating point consistency; allows better
tests for equality and inequality
◄/Or► Enables single exit point from functions; useful when
debugging with CodeView
◄/Os► Minimizes executable file size
◄/O, /Ot► Minimizes execution speed (default)
Miscellaneous
◄/Ob<n>► Controls inline expansion, where <n> is a digit from 0
through 2
◄/Oi► Generates intrinsic functions
◄/On► Turns off potentially unsafe loop optimizations
◄/Oz► Turns on potentially unsafe loop optimizations
◄/Oo[-]► Turns on [or off] post code-generation optimizing
(/Oi-, p-code default)
◄/Ox► Maximizes optimization
P-Code
◄/Oq► Turns on p-code optimization
◄/Of[-]► Turns on [or off] p-code quoting (default)
◄/Ov[-]► Controls frame sorting (default)
The letters following the /O, including the digits in b<n>, can
appear in any order. When there is a conflict, the compiler uses
the last /O option given. Each option applies to all source files
following it on the command line.
NOTE: If you are using the debugger, you may want to set the /Od
option. If you don't specify /Od, some forms of the compiler
perform optimizations that move code, possibly making it
difficult for you to follow your program in the debugger.
See also: ◄Maximum Optimization►
◄Preparing for Debugging►
◄Removing Stack Probes (/Gs)►
◄optimize pragma►
◄intrinsic pragma►
◄check_stack pragma►
-♦-