# Avoid References to Compiler-Specific Libraries

While compiler-specific libraries are intended to improve the performance of your application, they increase the size of your binaries.

Certain compiler options may improve the code size.

Options to specify:

Linux* and macOS*: | -ffreestanding
Windows*: | /Qfreestanding

Advantages of this method: | The compiler will not assume the presence of compiler-specific libraries. It will generate only calls that appear in the source code.
Disadvantages of this method: | This method may sacrifice performance if the library codes were in hotspots. Also, because we cannot assume any libraries, some compiler optimizations will be suppressed.

Notes:

- This option implies option -fno-builtin; you can override that default by explicitly specifying option -fbuiltin.

- Depending on code characteristics, this option can sometimes increase binary size.

Parent topic: Methods to Optimize Code Size