### /Oi Compiler Option

Syntax: | Default:
/Oi[+|-] | /Oi-, /Oi+ when /O+ is set
/Oi value | /Oi0

Use /Oi to control inlining of user code.

By default, the compiler does not inline user code, unless you specify /O[+]. When you specify /O[+], /Oi[+] becomes the default.

You can specify the following types of inlining:

/Oi+ | Inline all user functions that are qualified with the _Inline or inline keyword.
/Oi- | Do not inline any user code.
/Oi value | Inline all user functions qualified with the _Inline or inline keyword or that are smaller than value in abstract code units.

The /Oi option only affects user code, and does not affect the inlining of intrinsic IBM C and C++ Compilers library functions. To disable the inlining of library functions, parenthesize the function call or use /Oc+. For example:

       (strcpy)(str1, str2);

This way, you can selectively disable inlining of IBM C and C++ Compilers functions.

Some library functions are implemented as built-in functions, meaning there is no code in the library. You cannot parenthesize calls to these functions.

Inlining

Summary of Compiler Options
Summary of Compiler Options to Enable Optimization