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
Copy file name to clipboardExpand all lines: docs/assembler/masm/masm-for-x64-ml64-exe.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,9 +34,9 @@ translation.priority.ht:
34
34
- "zh-tw"
35
35
---
36
36
# MASM for x64 (ml64.exe)
37
-
ml64.exe is the assembler that accepts [!INCLUDE[vcprx64](../../assembler/inline/includes/vcprx64_md.md)] assembly language. For information on ml64.exe compiler options, see [ML and ML64 Command-Line Reference](../../assembler/masm/ml-and-ml64-command-line-reference.md).
37
+
ml64.exe is the assembler that accepts x64 assembly language. For information on ml64.exe compiler options, see [ML and ML64 Command-Line Reference](../../assembler/masm/ml-and-ml64-command-line-reference.md).
38
38
39
-
Inline ASM is not supported for [!INCLUDE[vcprx64](../../assembler/inline/includes/vcprx64_md.md)]. Use MASM or compiler intrinsics ([x64 Intrinsics](http://msdn.microsoft.com/en-us/5d1f5d3e-156e-4ebf-932e-fd09be7ced62)).
39
+
Inline ASM is not supported for x64. Use MASM or compiler intrinsics ([x64 (amd64) Intrinsics List](../../intrinsics/x64-amd64-intrinsics-list.md)).
40
40
41
41
The two workarounds are separate assembly with MASM (which supports x64 fully) and compiler intrinsics. We’ve added a lot of intrinsics to allow customers to make use of special-function instructions (e.g. privileged, bit scan/test, interlocked, etc…) in as close to cross-platform a manner as possible.
Copy file name to clipboardExpand all lines: docs/build/configuring-programs-for-64-bit-visual-cpp.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -54,15 +54,15 @@ This section contains topics about targeting 64-bit hardware with the Visual C++
54
54
55
55
[align](../cpp/align-cpp.md)
56
56
57
-
[/clr (Common Language Runtime Compilation)](../build/reference/clr-common-language-runtime-compilation.md)for information on how to run an application compiled with **/clr:safe** under WOW64 on a 64-bit operating system.
57
+
[/clr (Common Language Runtime Compilation)](../build/reference/clr-common-language-runtime-compilation.md)
58
58
59
59
[/favor (Optimize for Architecture Specifics)](../build/reference/favor-optimize-for-architecture-specifics.md)
60
60
61
61
[Programming Guide for 64-bit Windows](http://msdn.microsoft.com/library/windows/desktop/bb427430)
62
62
63
63
[MASM for x64 (ml64.exe)](../assembler/masm/masm-for-x64-ml64-exe.md)
Copy file name to clipboardExpand all lines: docs/c-runtime-library/link-options.md
-1Lines changed: 0 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -77,7 +77,6 @@ The CRT lib directory includes a number of small object files that enable specif
77
77
|noenv.obj|pnoenv.obj|Disables the creation of a cached environment for the CRT.|
78
78
|nothrownew.obj|pnothrownew.obj|Enables the non-throwing version of new in the CRT. See [new and delete Operators](../cpp/new-and-delete-operators.md).|
79
79
|setargv.obj|psetargv.obj|Enables command-line argument wildcard expansion. See [Expanding Wildcard Arguments](../c-language/expanding-wildcard-arguments.md).|
80
-
|smalheap.obj|n/a|Installs a very simple small heap manager.|
81
80
|threadlocale.obj|pthreadlocale.obj|Enables per-thread locale for all new threads by default.|
82
81
|wsetargv.obj|pwsetargv.obj|Enables command-line argument wildcard expansion. See [Expanding Wildcard Arguments](../c-language/expanding-wildcard-arguments.md).|
Copy file name to clipboardExpand all lines: docs/c-runtime-library/potential-errors-passing-crt-objects-across-dll-boundaries.md
+13-33Lines changed: 13 additions & 33 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -42,17 +42,9 @@ When you pass C Run-time (CRT) objects such as file handles, locales, and enviro
42
42
HEAP[]: Invalid Address specified to RtlValidateHeap(#,#)
43
43
44
44
## Causes
45
-
Each copy of the CRT library has a separate and distinct state. As such, CRT objects such as file handles, environment variables, and locales are only valid for the copy of the CRT where these objects are allocated or set. When a DLL and its users use different copies of the CRT library, you cannot pass these CRT objects across the DLL boundary and expect them to be picked up correctly on the other side.
45
+
Each copy of the CRT library has a separate and distinct state, kept in thread local storage by your app or DLL. As such, CRT objects such as file handles, environment variables, and locales are only valid for the copy of the CRT in the app or DLL where these objects are allocated or set. When a DLL and its app clients use different copies of the CRT library, you cannot pass these CRT objects across the DLL boundary and expect them to be picked up correctly on the other side. This is particularly true of CRT versions before the Universal CRT in Visual Studio 2015 and later. There was a version-specific CRT library for every version of Visual Studio built with Visual C++ 2013 or earlier. Internal implementation details of the CRT, for example, its data structures and naming conventions, were different in each version. Dynamically linking code compiled for one version of the CRT to a different version of the CRT DLL has never been supported, though occasionally it would work, more by luck than by design.
46
46
47
-
Also, because each copy of the CRT library has its own heap manager, allocating memory in one CRT library and passing the pointer across a DLL boundary to be freed by a different copy of the CRT library is a potential cause for heap corruption.
48
-
49
-
If you design your DLL so that it passes CRT objects across the boundary or allocates memory and expects it to be freed outside the DLL, you restrict the DLL users to use the same copy of the CRT library as the DLL. The DLL and its users use the same copy of the CRT library only if both are linked with the same version of the CRT DLL. This could be a problem if you mix applications built with Visual C++ 5.0 with DLLs that are built by Visual C++ 4.1 or earlier. Because the DLL version of the CRT library used by Visual C++ 4.1 is msvcrt40.dll and the one used by Visual 5.0 is msvcrt.dll, you cannot build your application to use the same copy of the CRT library as these DLLs.
50
-
51
-
However, there is an exception. In US English version and some other localized versions of Windows 2000, such as German, French, and Czech, a forwarder version of the msvcrt40.dll (version 4.20) is shipped. As a result, even though the DLL is linked with msvcrt40.dll and its user is linked with msvcrt.dll, you are still using the same copy of the CRT library because all calls made to msvcrt40.dll are forwarded to msvcrt.dll.
52
-
53
-
However this forwarder version of msvcrt40.dll is not available in some localized versions of Windows 2000, such as Japanese, Korean, and Chinese. So, if your application targets these operating systems, you need to either obtain an upgraded version of the DLL that doesn't rely on msvcrt40.dll or alter your application to not rely on using the same copy of the CRT libraries. If you have developed the DLL, this means rebuilding it with Visual C++ 4.2 or later. If it is a third- party DLL, you need to contact your vendor for an upgrade.
54
-
55
-
Please note that this forwarder DLL version of msvcrt40.dll (version 4.20) cannot be redistributed.
47
+
Also, because each copy of the CRT library has its own heap manager, allocating memory in one CRT library and passing the pointer across a DLL boundary to be freed by a different copy of the CRT library is a potential cause for heap corruption. If you design your DLL so that it passes CRT objects across the boundary or allocates memory and expects it to be freed outside the DLL, you restrict the app clients of the DLL to use the same copy of the CRT library as the DLL. The DLL and its clients normally use the same copy of the CRT library only if both are linked at load time to the same version of the CRT DLL. Because the DLL version of the Universal CRT library used by Visual Studio 2015 and later on Windows 10 is now a centrally deployed Windows component, ucrtbase.dll, it is the same for apps built with Visual Studio 2015 and later versions. However, even when the CRT code is identical, you can't hand off memory allocated in one heap to a component that uses a different heap.
56
48
57
49
## Example
58
50
@@ -63,11 +55,9 @@ When you pass C Run-time (CRT) objects such as file handles, locales, and enviro
63
55
64
56
If you rebuild with /MT so that they use separate copies of the CRT, running the resulting test1Main.exe results in an access violation.
Copy file name to clipboardExpand all lines: docs/c-runtime-library/reference/fmin-fminf-fminl.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
---
2
-
title: "fmin, fminf, fminl2 | Microsoft Docs"
2
+
title: "fmin, fminf, fminl | Microsoft Docs"
3
3
ms.custom: ""
4
4
ms.date: "11/04/2016"
5
5
ms.reviewer: ""
@@ -87,7 +87,6 @@ long double fminl(
87
87
long double x,
88
88
long double y
89
89
);
90
-
91
90
```
92
91
93
92
#### Parameters
@@ -104,7 +103,7 @@ long double fminl(
104
103
|-----------|------------|
105
104
|`x` is NaN|`y`|
106
105
|`y` is NaN|`x`|
107
-
|`x` and `y` are NaN|nan|
106
+
|`x` and `y` are NaN|NaN|
108
107
109
108
The function does not cause [_matherr](../../c-runtime-library/reference/matherr.md) to be invoked, cause any floating-point exceptions, or change the value of `errno`.
110
109
@@ -115,9 +114,10 @@ long double fminl(
115
114
116
115
|Routine|Required header|
117
116
|-------------|---------------------|
118
-
|`fmin`, `fminf`, `fminl`|C: \<math.h><br /><br /> C++: \<math.h> or \<cmath>|
117
+
|`fmin`, `fminf`, `fminl`|C: \<math.h><br />C++: \<math.h> or \<cmath>|
119
118
120
119
For additional compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md).
121
120
122
121
## See Also
123
-
[Alphabetical Function Reference](../../c-runtime-library/reference/crt-alphabetical-function-reference.md)
122
+
[Alphabetical Function Reference](../../c-runtime-library/reference/crt-alphabetical-function-reference.md)
Copy file name to clipboardExpand all lines: docs/porting/use-native-multi-targeting.md
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -56,9 +56,7 @@ Once you have installed Visual Studio side-by-side with your older version, open
56
56
57
57
Visual Studio is persistent about upgrading your project. To avoid seeing the upgrade dialog every time you load the project, you can define the following property in your projects, or in the .props or .targets files they import:
Copy file name to clipboardExpand all lines: docs/windows/walkthrough-creating-a-standard-cpp-program-cpp.md
+1-2Lines changed: 1 addition & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -86,9 +86,8 @@ You can use Visual C++ in the Visual Studio integrated development environment (
86
86
If you used the sample program, a command window is displayed and shows whether certain integers are found in the set.
87
87
88
88
## Next Steps
89
-
**Previous:**[Creating Command-Line Applications (C++)](http://msdn.microsoft.com/en-us/2505d9ed-aca4-426a-9071-078a2d707254). **Next:**[Walkthrough: Compiling a Native C++ Program on the Command Line](../build/walkthrough-compiling-a-native-cpp-program-on-the-command-line.md).
89
+
**Previous:**[Console Applications in Visual C++](../windows/console-applications-in-visual-cpp.md). **Next:**[Walkthrough: Compiling a Native C++ Program on the Command Line](../build/walkthrough-compiling-a-native-cpp-program-on-the-command-line.md).
90
90
91
91
## See Also
92
-
[Visual C++ Guided Tour](http://msdn.microsoft.com/en-us/499cb66f-7df1-45d6-8b6b-33d94fd1f17c)
93
92
[C++ Language Reference](../cpp/cpp-language-reference.md)
94
93
[C++ Standard Library](../standard-library/cpp-standard-library-reference.md)
0 commit comments