You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When the **_CRTDBG_MAP_ALLOC** flag is defined in the debug version of an application, the base version of the heap functions are directly mapped to their debug versions. The flag is used in Crtdbg.h to do the mapping. This flag is only available when the [_DEBUG](../c-runtime-library/debug.md) flag has been defined in the application.
11
+
When the **_CRTDBG_MAP_ALLOC** flag is defined in the debug version of an application, the base versions of the heap functions are directly mapped to their debug versions. The flag is used in Crtdbg.h to do the mapping. This flag is only available when the [_DEBUG](../c-runtime-library/debug.md) flag has been defined in the application.
12
12
13
13
For more information about using the debug version versus the base version of a heap function, see [Using the Debug Version Versus the Base Version](/visualstudio/debugger/debug-versions-of-heap-allocation-functions).
The **_crtDbgFlag** flag consists of five bitfields that control how memory allocations on the debug version of the heap are tracked, verified, reported, and dumped. The bit fields of the flag are set using the [_CrtSetDbgFlag](../c-runtime-library/reference/crtsetdbgflag.md) function. This flag and its bit fields are declared in Crtdbg.h. This flag is only available when the [_DEBUG](../c-runtime-library/debug.md) flag has been defined in the application.
11
+
The **_crtDbgFlag** flag consists of five bit-fields that control how memory allocations on the debug version of the heap are tracked, verified, reported, and dumped. The bit fields of the flag are set using the [_CrtSetDbgFlag](../c-runtime-library/reference/crtsetdbgflag.md) function. This flag and its bit fields are declared in Crtdbg.h. This flag is only available when the [_DEBUG](../c-runtime-library/debug.md) flag has been defined in the application.
12
12
13
-
For more information about using this flag in conjunction with other debug functions, see [Heap State Reporting Functions](/visualstudio/debugger/crt-debug-heap-details).
13
+
For more information about using this flag along with other debug functions, see [Heap State Reporting Functions](/visualstudio/debugger/crt-debug-heap-details).
Copy file name to clipboardExpand all lines: docs/c-runtime-library/crtlcmapstringw.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -40,7 +40,7 @@ Pointer to a source string that the function maps or uses for sort key generatio
40
40
*cchSrc*<br/>
41
41
Size, in characters, of the string pointed to by the `lpSrcStr` parameter. This count can include the null terminator, or not include it.
42
42
43
-
A `cchSrc` value of -1 specifies that the string pointed to by `lpSrcStr` is null-terminated. If this is the case, and this function is being used in its string-mapping mode, the function calculates the string's length itself, and null-terminates the mapped string stored into `*lpDestStr`.
43
+
A `cchSrc` value of -1 specifies that the string pointed to by `lpSrcStr` is null-terminated. If so, and this function is being used in its string-mapping mode, the function calculates the string's length itself, and null-terminates the mapped string stored into `*lpDestStr`.
44
44
45
45
*lpDestStr*<br/>
46
46
Long pointer to a buffer into which the function stores the mapped string or sort key.
Copy file name to clipboardExpand all lines: docs/c-runtime-library/data-alignment.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,7 @@ The following C run-time functions support data alignment.
17
17
|[_aligned_free](../c-runtime-library/reference/aligned-free.md)|Frees a block of memory that was allocated with [_aligned_malloc](../c-runtime-library/reference/aligned-malloc.md)or [_aligned_offset_malloc](../c-runtime-library/reference/aligned-offset-malloc.md).|
18
18
|[_aligned_free_dbg](../c-runtime-library/reference/aligned-free-dbg.md)|Frees a block of memory that was allocated with [_aligned_malloc](../c-runtime-library/reference/aligned-malloc.md) or [_aligned_offset_malloc](../c-runtime-library/reference/aligned-offset-malloc.md) (debug only).|
19
19
|[_aligned_malloc](../c-runtime-library/reference/aligned-malloc.md)|Allocates memory on a specified alignment boundary.|
20
-
|[_aligned_malloc_dbg](../c-runtime-library/reference/aligned-malloc-dbg.md)|Allocates memory on a specified alignment boundary with additional space for a debugging header and overwrite buffers (debug version only).|
20
+
|[_aligned_malloc_dbg](../c-runtime-library/reference/aligned-malloc-dbg.md)|Allocates memory on a specified alignment boundary with extra space for a debugging header and overwrite buffers (debug version only).|
21
21
|[_aligned_msize](../c-runtime-library/reference/aligned-msize.md)|Returns the size of a memory block allocated in the heap.|
22
22
|[_aligned_msize_dbg](../c-runtime-library/reference/aligned-msize-dbg.md)|Returns the size of a memory block allocated in the heap (debug version only).|
23
23
|[_aligned_offset_malloc](../c-runtime-library/reference/aligned-offset-malloc.md)|Allocates memory on a specified alignment boundary.|
These routines convert data from one form to another. Generally these routines execute faster than conversions you might write. Each routine that begins with a *to* prefix is implemented as a function and as a macro. See [Choosing Between Functions and Macros](../c-runtime-library/recommendations-for-choosing-between-functions-and-macros.md) for information about choosing an implementation.
10
+
These routines convert data from one form to another. Generally these routines execute faster than conversions you might write. Each routine that begins with a `to` prefix is implemented as a function and as a macro. See [Choosing Between Functions and Macros](../c-runtime-library/recommendations-for-choosing-between-functions-and-macros.md) for information about choosing an implementation.
On a call to `_ftime`, `localtime`, or `_tzset`, the values of `_daylight`, `_dstbias`, `_timezone`, and `_tzname` are determined from the value of the `TZ` environment variable. If you do not explicitly set the value of `TZ`, `_tzname[0]` and `_tzname[1]` contain the default settings of "PST" and "PDT" respectively. The time-manipulation functions ([_tzset](../c-runtime-library/reference/tzset.md), [_ftime](../c-runtime-library/reference/ftime-ftime32-ftime64.md), and [localtime](../c-runtime-library/reference/localtime-localtime32-localtime64.md)) attempt to set the values of `_daylight`, `_dstbias` and `_timezone` by querying the operating system for the default value of each variable. The time-zone global variable values are shown in the following table.
33
+
On a call to `_ftime`, `localtime`, or `_tzset`, the values of `_daylight`, `_dstbias`, `_timezone`, and `_tzname` are determined from the value of the `TZ` environment variable. If you don't explicitly set the value of `TZ`, `_tzname[0]` and `_tzname[1]` contain the default settings of "PST" and "PDT" respectively. The time-manipulation functions ([_tzset](../c-runtime-library/reference/tzset.md), [_ftime](../c-runtime-library/reference/ftime-ftime32-ftime64.md), and [localtime](../c-runtime-library/reference/localtime-localtime32-localtime64.md)) attempt to set the values of `_daylight`, `_dstbias` and `_timezone` by querying the operating system for the default value of each variable. The time-zone global variable values are shown in the following table.
Copy file name to clipboardExpand all lines: docs/c-runtime-library/debug-routines.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -49,20 +49,20 @@ To use these routines, the [_DEBUG](../c-runtime-library/debug.md) flag must be
49
49
|[`_CrtSetReportMode`](../c-runtime-library/reference/crtsetreportmode.md)| Specify the general destination(s) for a specific report type generated by `_CrtDbgReport`|
50
50
|[`_RPT[0,1,2,3,4]`](../c-runtime-library/reference/rpt-rptf-rptw-rptfw-macros.md)| Track the application's progress by generating a debug report by calling `_CrtDbgReport` with a format string and a variable number of arguments. Provides no source file and line number information. |
51
51
|[`_RPTF[0,1,2,3,4]`](../c-runtime-library/reference/rpt-rptf-rptw-rptfw-macros.md)| Similar to the `_RPTn` macros, but provides the source file name and line number where the report request originated |
52
-
|[`_calloc_dbg`](../c-runtime-library/reference/calloc-dbg.md)| Allocate a specified number of memory blocks on the heap with additional space for a debugging header and overwrite buffers |
52
+
|[`_calloc_dbg`](../c-runtime-library/reference/calloc-dbg.md)| Allocate a specified number of memory blocks on the heap with extra space for a debugging header and overwrite buffers |
53
53
|[`_expand_dbg`](../c-runtime-library/reference/expand-dbg.md)| Resize a specified block of memory on the heap by expanding or contracting the block |
54
54
|[`_free_dbg`](../c-runtime-library/reference/free-dbg.md)| Free a block of memory on the heap |
55
55
|[`_fullpath_dbg`, `_wfullpath_dbg`](../c-runtime-library/reference/fullpath-dbg-wfullpath-dbg.md)| Create an absolute or full path name for the specified relative path name, using [`_malloc_dbg`](../c-runtime-library/reference/malloc-dbg.md) to allocate memory. |
56
56
|[`_getcwd_dbg`, `_wgetcwd_dbg`](../c-runtime-library/reference/getcwd-dbg-wgetcwd-dbg.md)| Get the current working directory, using [`_malloc_dbg`](../c-runtime-library/reference/malloc-dbg.md) to allocate memory. |
57
-
|[`_malloc_dbg`](../c-runtime-library/reference/malloc-dbg.md)| Allocate a block of memory on the heap with additional space for a debugging header and overwrite buffers |
57
+
|[`_malloc_dbg`](../c-runtime-library/reference/malloc-dbg.md)| Allocate a block of memory on the heap with extra space for a debugging header and overwrite buffers |
58
58
|[`_msize_dbg`](../c-runtime-library/reference/msize-dbg.md)| Calculate the size of a block of memory on the heap |
59
59
|[`_realloc_dbg`](../c-runtime-library/reference/realloc-dbg.md)| Reallocate a specified block of memory on the heap by moving and/or resizing the block |
60
60
|[`_strdup_dbg`, `_wcsdup_dbg`](../c-runtime-library/reference/strdup-dbg-wcsdup-dbg.md)| Duplicates a string, using [`_malloc_dbg`](../c-runtime-library/reference/malloc-dbg.md) to allocate memory. |
61
61
|[`_tempnam_dbg`, `_wtempnam_dbg`](../c-runtime-library/reference/tempnam-dbg-wtempnam-dbg.md)| Generate names you can use to create temporary files, using [`_malloc_dbg`](../c-runtime-library/reference/malloc-dbg.md) to allocate memory. |
62
62
63
-
## C runtime routines that are not available in source code form
63
+
## C runtime routines that aren't available in source code form
64
64
65
-
The debugger can be used to step through the source code for most of the C runtime routines during the debugging process. However, Microsoft considers some technology to be proprietary and, therefore, does not provide the source code for a subset of these routines. Most of these routines belong to either the exception handling or floating-point processing groups, but a few others are included as well. The following table lists these routines.
65
+
The debugger can be used to step through the source code for most of the C runtime routines during the debugging process. However, Microsoft considers some technology to be proprietary and, therefore, doesn't provide the source code for a subset of these routines. Most of these routines belong to either the exception handling or floating-point processing groups, but a few others are included as well. The following table lists these routines.
66
66
67
67
:::row:::
68
68
:::column span="":::
@@ -122,11 +122,11 @@ The debugger can be used to step through the source code for most of the C runti
122
122
:::column-end:::
123
123
:::row-end:::
124
124
125
-
Although source code is available for most of the **printf** and **scanf** routines, they make an internal call to another routine for which source code is not provided.
125
+
Although source code is available for most of the **printf** and **scanf** routines, they make an internal call to another routine for which source code isn't provided.
126
126
127
127
## Routines that behave differently in a debug build of an application
128
128
129
-
Some C run-time functions and C++ operators behave differently when called from a debug build of an application. (Note that a debug build of an application can be done by either defining the `_DEBUG` flag or by linking with a debug version of the C run-time library.) The behavioral differences usually consist of extra features or information provided by the routine to support the debugging process. The following table lists these routines.
129
+
Some C run-time functions and C++ operators behave differently when called from a debug build of an application. (You can create a debug build of an application by either defining the `_DEBUG` flag or by linking with a debug version of the C run-time library.) The behavioral differences usually consist of extra features or information provided by the routine to support the debugging process. The following table lists these routines.
Beginning in Visual Studio 2013, the Universal C Runtime (UCRT) no longer supports the C++-specific operator new and operator delete functions. These are now part of the C++ Standard Library. For more information, see [new and delete operators](../cpp/new-and-delete-operators.md) and [delete operator](../cpp/delete-operator-cpp.md) in the C++ Language Reference.
14
+
Beginning in Visual Studio 2013, the Universal C Runtime (UCRT) no longer supports the C++-specific `operator new` and `operator delete` functions. These functions are now part of the C++ Standard Library. For more information, see [`new` and `delete` operators](../cpp/new-and-delete-operators.md) and [`delete` operator](../cpp/delete-operator-cpp.md) in the C++ Language Reference.
The direction flag is a CPU flag specific to all Intel x86-compatible CPUs. It applies to all assembly instructions that use the REP (repeat) prefix, such as MOVS, MOVSD, MOVSW, and others. Addresses provided to applicable instructions are increased if the direction flag is cleared.
12
12
13
-
The C run-time routines assume that the direction flag is cleared. If you are using other functions with the C run-time functions, you must ensure that the other functions leave the direction flag alone or restore it to its original condition. Expecting the direction flag to be clear upon entry makes the run-time code faster and more efficient.
13
+
The C run-time routines assume that the direction flag is cleared. If you're using other functions with the C run-time functions, you must ensure that the other functions leave the direction flag alone or restore it to its original condition. Expecting the direction flag to be clear upon entry makes the run-time code faster and more efficient.
14
14
15
15
The C Run-Time library functions, such as the string-manipulation and buffer-manipulation routines, expect the direction flag to be clear.
Pointer to a variable that points to the beginning of a list of functions to execute on detach.
33
33
34
-
*pend*<br/>
34
+
*`pend`*<br/>
35
35
Pointer to variable that points to the end of a list of functions to execute on detach.
36
36
37
37
## Return Value
@@ -40,7 +40,7 @@ If successful, a pointer to the user's function. Otherwise, a **NULL** pointer.
40
40
41
41
## Remarks
42
42
43
-
The `__dllonexit` function is analogous to the [_onexit](../c-runtime-library/reference/onexit-onexit-m.md) function except that the global variables used by that function are not visible to this routine. Instead of global variables, this function uses the `pbegin` and `pend` parameters.
43
+
The `__dllonexit` function is analogous to the [_onexit](../c-runtime-library/reference/onexit-onexit-m.md) function except that the global variables used by that function aren't visible to this routine. Instead of global variables, this function uses the `pbegin` and `pend` parameters.
44
44
45
45
The `_onexit` and `atexit` functions in a DLL linked with MSVCRT.LIB must maintain their own atexit/_onexit list. This routine is the worker that gets called by such DLLs.
0 commit comments