# sox

Tells the compiler to save the compilation options and version number in the executable file. It also lets you choose whether to include lists of certain functions.

## Syntax

Linux: | -sox[=keyword[,keyword]] -no-sox

macOS: | None

Windows: | None

## Arguments

keyword | Is the function information to include. Possible values are:
inline | Includes a list of the functions that were inlined in each object.
profile | Includes a list of the functions that were compiled with the -prof-use option and for which the .dpi file had profile information, and an indication for each as to whether the profile information was USED (matched) or IGNORED (mismatched).

## Default

-no-sox | The compiler does not save these informational strings in the object file.

## Description

This option tells the compiler to save the compilation options and version number in the executable file. It also lets you choose whether to include lists of certain functions. The information is embedded as a string in each object file or assembly output.

If you specify option sox with no keyword, the compiler saves the compiler options and version number used in the compilation of the objects that make up the executable.

When you specify this option, the size of the executable on disk is increased slightly. Each keyword you specify increases the size of the executable. When you link the object files into an executable file, the linker places each of the information strings into the header of the executable. It is then possible to use a tool, such as a strings utility, to determine what options were used to build the executable file.

## IDE Equivalent

None

## Alternate Options

None

## Example

The following commands are equivalent:

    -sox=profile -sox=inline
    -sox=profile,inline

You can use the negative form of the option to disable and reset the option. For example:

    -sox=profile -no-sox -sox=inline      ! This means -sox=inline

Parent topic: Miscellaneous Options

## See Also

prof-use, Qprof-use compiler option