-f -m 分别是什么用处

‘f’ stands for ‘flag’.
Flags are on if specified via ‘-fFLAG‘ and off via ‘-fno-FLAG
ex:

  1. -fpic # flag to set position independent code
  2. -fno-builtin # don't recognize build in functions ...

The technical definition is that ‘f’ defines “Control the interface conventions used in code generation”.
Src: https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html (e.g -fpci, when this flag is set)

‘m’ stands for mode. One general characteristic is that it sometimes has parameters. e.g

  1. -mabi=name #abi mode = name
  2. -mcpu=cpu

Src: https://gcc.gnu.org/onlinedocs/gccint/Standard-Names.html (e.g … when this mode…)