Share via


Using Run-Time Checks Without the C Run-Time Library

This topic applies to:

Edition

Visual Basic

C#

F#

C++

Web Developer

Express

Topic does not apply Topic does not apply Topic does not apply

Native only

Topic does not apply

Pro, Premium, and Ultimate

Topic does not apply Topic does not apply Topic does not apply

Native only

Topic does not apply

If you link your program without the C run-time library, using /NODEFAULTLIB, and want to use run-time checks, you must link with RunTmChk.lib.

_RTC_Initialize initializes your program for run-time checks. If you do not link with the C run-time library, you must check to see whether your program is compiled with run-time error checks before calling _RTC_Initialize, as follows:

#ifdef __MSVC_RUNTIME_CHECKS
    _RTC_Initialize();
#endif

If you do not link with the C run-time library, you must also define a function called _CRT_RTC_INITW. _CRT_RTC_INITW installs your user-defined function as the default error reporting function, as follows:

// C version:
_RTC_error_fnW __cdecl _CRT_RTC_INITW(
        void *res0, void **res1, int res2, int res3, int res4)
{
    // set the error handler.
    return &MyErrorFunc; 
}

// C++ version:
extern "C" _RTC_error_fnW __cdecl _CRT_RTC_INITW(
       void *res0, void **res1, int res2, int res3, int res4)
{
    // set the error handler:
    return &MyErrorFunc;
}

After you have installed the default error reporting function, you can install additional error reporting functions with _RTC_SetErrorFuncW. For more information, see _RTC_SetErrorFuncW.

See Also

Tasks

How to: Use Native Run-Time Checks