Geoff Chappell - Software Analyst
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|
The product documentation overlooks the b style.