# Portability Options

A challenge in porting applications from one compiler to another is making sure there is support for the compiler options you use to build your application. The Intel® C++ Compiler Classic supports many of the options that are valid on other compilers you may be using.

The following sections list compiler options that are supported by the Intel® C++ Compiler Classic and the following:

- Microsoft* C++ Compiler

- GCC* Compiler

Options that are unique to either compiler are not listed in these sections.

## Options Equivalent to Microsoft C++ Options (Windows*)

The following table lists compiler options that are supported by both the Intel® C++ Compiler Classic and the Microsoft C++ Compiler.

For complete details about these options, for example, the possible values for <n> when it appears below, see the Microsoft Visual Studio C++ documentation.

/arch
/C
/c
/D<name>{=|#}<text>
/E
/EH{a|s|c|r}
/EP
/F<n>
/Fa[file]
/FA[{c|s|cs}]
/FC
/Fe<file>
/FI<file>
/Fm[<file>]
/Fo<file>
/fp:<model>
/Fp<file>
/FR[<file>]
/Fr[<file>]
/GA
/Gd
/Ge
/GF
/Gh
/GH
/Gr
/GR[-]
/GS[-]
/Gs[<n>]
/GT
/Gy[-]
/Gz
/GZ
/H<n>
/help
/I<dir>
/J
/LD
/LDd
/link
/MD
/MDd
/MP
/MT
/MTd
/nologo
/O1
/O2
/Ob<n>
/Od
/Oi[-]
/Os
/Ot
/Ox
/Oy[-]
/P
/QIfist[-]
/RTC{1|c|s|u}
/showIncludes
/TC
/Tc<source file>
/TP
/Tp<source file>
/u
/U<name>
/V<string>
/vd<n>
/vmb
/vmg
/vmm
/vms
/vmv
/w
/W<n>
/Wall
/wd<n>
/we<n>
/WL
/Wp64
/WX
/X
/Y-
/Yc[<file>]
/Yu[<file>]
/Z7
/Za
/Zc:<arg1>[, <arg2>]
/Ze
/Zg
/Zi
/ZI
/Zl
/Zp[<n>]
/Zs

## Options Equivalent to GCC* Options (Linux*)

The following table lists compiler options that are supported by both the Intel® C++ Compiler Classic and the GCC Compiler.

-A
-ansi
-B
-C
-c
-D
-dD
-dM
-dN
-E
-fargument-noalias
-fargument-noalias-global
-fcf-protection
-fdata-sections
-ffunction-sections
-fmudflap (this is a deprecated option)
-f[no-]builtin
-f[no-]common
-f[no-]freestanding
-f[no-]gnu-keywords
-fno-implicit-inline-templates
-fno-implicit-templates
-f[no-]inline
-f[no-]inline-functions
-f[no-]math-errno
-f[no-]operator-names
-f[no-]stack-protector
-f[no-]unsigned-bitfields
-fpack-struct
-fpermissive
-fPIC
-fpic
-freg-struct-return
-fshort-enums
-fsyntax-only
-ftemplate-depth
-ftls-model=global-dynamic
-ftls-model=initial-exec
-ftls-model=local-dynamic
-ftls-model=local-exec
-funroll-loops
-funsigned-char
-fverbose-asm
-fvisibility=default
-fvisibility=hidden
-fvisibility=internal
-fvisibility=protected
-H
-help
-I
-idirafter
-imacros
-iprefix
-iwithprefix
-iwithprefixbefore
-l
-L
-M
-malign-double
-march
-mcpu
-MD
-MF
-MG
-MM
-MMD
-m[no-]ieee-fp
-MP
-MQ
-msse
-msse2
-msse3
-MT
-mtune
-nodefaultlibs
-nostartfiles
-nostdinc
-nostdinc++
-nostdlib
-o
-O
-O0
-O1
-O2
-O3
-Os
-p
-P
-S
-shared
-static
-std
-trigraphs
-U
-u
-v
-V
-w
-Wall
-Werror
-Winline
-W[no-]cast-qual
-W[no-]comment
-W[no-]comments
-W[no-]deprecated
-W[no-]fatal-errors
-W[no-]format-security
-W[no-]main
-W[no-]missing-declarations
-W[no-]missing-prototypes
-W[no-]overflow
-W[no-]overloaded-virtual
-W[no-]pointer-arith
-W[no-]return-type
-W[no-]strict-prototypes
-W[no-]trigraphs
-W[no-]uninitialized
-W[no-]unknown-pragmas
-W[no-]unused-function
-W[no-]unused-variable
-X
-x assembler-with-cpp
-x c
-x c++
-Xlinker

Parent topic: Related Options