C/C++ Compiler (cl.hlp) (
Table of Contents;
Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software,
purely for historical purposes.
If you're looking for up-to-date documentation, particularly for programming,
you should not rely on the information found here, as it will be woefully
out of date.
Generate Intrinsic Functions (/Oi)
◄Up► ◄Contents► ◄Index► ◄Back►
─────C/C++ Compiler─────────────────────────────────────────────────────────
Syntax: /Oi
For both 16- and 32-bit targets, this option instructs the
compiler to replace the following function calls with their inline
forms:
Function 16 32 Function 16 32
_alloca * _outpw * *
_disable * * _rotl * *
_enable * * _rotr * *
_fmemcmp * _setjmp *
_fmemcpy * _strset * *
_fmemset * abs * *
_fstrcat * fabs * *
_fstrcmp * labs * *
_fstrcpy * memcmp * *
_fstrlen * memcpy * *
_fstrset * memset * *
_inp * * strcat * *
_inpw * * strcmp * *
_lrotl * * strcpy * *
_lrotr * * strlen * *
_outp * *
In this table, a function's availability for 16- or 32-bit
targets is specified by an '*' in either the 16 or the 32
column.
Programs that use intrinsic functions are faster because they do
not include the overhead associated with function calls. However,
they can be larger due to the additional code generated.
Intrinsic versions of the memset, memcpy, and memcmp functions in
compact- and large-model programs cannot handle huge arrays or huge
pointers. To use huge arrays or huge pointers with these functions,
you must compile your program with either the huge memory model
from PWB or with the /AH option on the command line.
With /Oi, you should not link to an alternate math library. Also,
the following floating-point functions do not have true intrinsic
forms; they do have versions that pass arguments directly to the
floating-point chip instead of pushing them on the normal argument
stack:
Function 16 32 Function 16 32
acos * * _acosl *
asin * * _asinl *
atan * * _atanl *
atan2 * * _atan2l *
ceil * _ceill *
cos * * _cosl *
cosh * * _coshl *
exp * * _expl *
floor * _floorl *
fmod * * _fmodl *
log * * _logl *
log10 * * _log10l *
pow * * _powl *
sin * * _sinl *
sinh * * _sinhl *
sqrt * * _sqrtl *
tan * * _tanl *
tanh * * _tanhl *
In this table, a function's availability for 16- or 32-bit
targets is specified by an '*' in either the 16 or the 32
column.
-♦-