Link Options


The new home for Visual Studio documentation is Visual Studio 2017 Documentation on

The latest version of this topic can be found at Link Options.

The CRT lib directory includes a number of small object files that enable specific CRT features without any code change. These are called "link options" since you just have to add them to the linker command line to use them.

Pure mode versions have been added. Use the regular versions for native and /clr code, use the pure versions (prefixed with a p) for /clr:pure mode.

Native and /clrPure modeDescription
binmode.objpbinmode.objSets the default file-translation mode to binary. See _fmode.
chkstk.objn/aProvides stack-checking and alloca support when not using the CRT.
commode.objpcommode.objSets the global commit flag to "commit". See fopen, _wfopen and fopen_s, _wfopen_s.
fp10.objn/aChanges the default precision control to 64 bits. See Floating-Point Support.
invalidcontinue.objpinvalidcontinue.objSets a default invalid parameter handler that does nothing, meaning that invalid parameters passed to CRT functions will just set errno and return an error result.
loosefpmath.objn/aEnsures that floating point code tolerates denormal values.
newmode.objpnewmode.objCauses malloc to call the new handler on failure. See _set_new_mode, _set_new_handler, calloc, and realloc.
noarg.objpnoarg.objDisables all processing of argc and argv.
nochkclr.objn/aDoes nothing. Remove from your project.
noenv.objpnoenv.objDisables the creation of a cached environment for the CRT.
nothrownew.objpnothrownew.objEnables the non-throwing version of new in the CRT. See new and delete Operators.
setargv.objpsetargv.objEnables command-line argument wildcard expansion. See Expanding Wildcard Arguments.
smalheap.objn/aInstalls a very simple small heap manager.
threadlocale.objpthreadlocale.objEnables per-thread locale for all new threads by default.
wsetargv.objpwsetargv.objEnables command-line argument wildcard expansion. See Expanding Wildcard Arguments.

CRT Library Features