Inline Emulator Option (/FPi)

The inline emulator option (/FPi) generates inline instructions for an 80x87 coprocessor and places the name of the emulator library (mLIBCE.LIB) in the object file. At link time, you can specify the math coprocessor library (mLIBC7.LIB) instead. If you do not choose a floating-point option, the compiler uses the inline emulator option by default.

The inline emulator option is useful if you cannot be sure that an 80x87 coprocessor will be available on the target computer. Programs compiled using the inline emulator option work as described below:

If a coprocessor is present at run time, the program uses the coprocessor.

If no coprocessor is present, the program uses the emulator. In this case, the inline emulator option offers the most efficient way to get maximum precision in floating-point results.

When you use the inline emulator option, the compiler does not generate inline 80x87 instructions. Instead, the compiler generates software interrupts to library code, which then fixes up the interrupts to use either the emulator or the coprocessor, depending on whether a coprocessor is present. If you want true inline 80x87 instructions, use the inline math coprocessor option (/FPi87).