The optional argument consists of whatever follows immediately within the same command-line token.

Valid styles are any number, including none, of the following case-sensitive characters: a, b, c and s. Anything else causes warning D4015.


The /FA option overrides /Fc and /Fl and earlier instances of itself. Only the last instance has its styles validated.

This option passes to the back-end C/C++ compiler (C2), but with the a style added at the front: thus, -FAa[styles].

Additionally, the /FA option may affect how a /Fa option (given before or after) passes to the back-end compiler. Indeed, it generates a /Fa for the back-end compiler if none is given.


The /FA option asks that an assembly-language listing be created for each source file. The /FA option may specify a style for the listing files, but is not concerned directly with naming the listing files.


The pathname for each listing file is determined from the rules of the /Fa option, if such an option is given. If no /Fa is given, then the listing files are named as if /Fa had been given but with no argument. The contribution of /FA to the naming of listing files is just to set a default file extension, which is “asm” ordinarily, but “cod” if c is among the styles.


As far as concerns the style of listing as generated by C2, the a style is anyway assumed, such that its specification is redundant. The main effects of the other styles are:

b show byte count for instruction as first comment after mnemonic
c show offset and opcode bytes before instruction mnemonic
s follow line numbers with reproduction from source code

Documentation Status

The product documentation overlooks the b style.