When recognized, intrinsic functions can get expanded inline or their faster implementation in a library may be assumed and linked in. By default, Inline expansion of intrinsic functions is enabled.
In some cases, disabling this behavior may noticeably improve the size of the produced object or binary.
Options to specify:
Linux* and macOS*: | -fno-builtin |
Windows*: | /Oi- |
Advantages of this method: |
Both the size of the object files and the size of library codes brought into an executable can be reduced. |
Disadvantages of this method: |
|
Notes:
This option is already the default if you specify option O1.
You can specify option -nolib-inline to disable inline expansion of standard library or intrinsic functions.
Depending on code characteristics, this option can sometimes increase binary size.