| Syntax: | Default: |
| /Oi[+|-] | /Oi-, /Oi+ when /O+ is set |
| /Oivalue | /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. |
| /Oivalue | 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.
![]()
Summary of Compiler Options
Summary of Compiler
Options to Enable Optimization