Skip to content

Commit 656b273

Browse files
authored
Merge branch 'master' into cr-started
2 parents 3636700 + bcabed2 commit 656b273

68 files changed

Lines changed: 682 additions & 220 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs/atl-mfc-shared/exporting-string-classes-using-cstringt.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ In the past, MFC developers have derived from `CString` to specialize their own
3939

4040
- With the new `CStringT` template class, you can customize `CString` behavior using template parameters that specify character traits, similar to the templates in the C++ Standard Library.
4141

42-
- When you export your own string class from a DLL using `CStringT`, the compiler also automatically exports the `CString` base class. Since `CString` is itself a template class, it may be instantiated by the compiler when used, unless the compiler is aware that `CString` is imported from a DLL. If you have migrated projects from Visual C++ 6.0 to Visual C++.NET, you might have seen linker symbol errors for a multiply-defined `CString` because of the collision of the `CString` imported from a DLL and the locally instantiated version. The proper way to do this is described below. For more information on this issue, see the Knowledge Base article, "Linking Errors When you Import CString-derived Classes" (Q309801) on the MSDN Library CD-ROM or at [http://support.microsoft.com/default.aspx](http://support.microsoft.com/default.aspx).
42+
- When you export your own string class from a DLL using `CStringT`, the compiler also automatically exports the `CString` base class. Since `CString` is itself a template class, it may be instantiated by the compiler when used, unless the compiler is aware that `CString` is imported from a DLL. If you have migrated projects from Visual C++ 6.0 to Visual C++.NET, you might have seen linker symbol errors for a multiply-defined `CString` because of the collision of the `CString` imported from a DLL and the locally instantiated version. The proper way to do this is described below. For more information on this issue, see the Knowledge Base article, "Linking Errors When you Import CString-derived Classes" (Q309801) at [http://support.microsoft.com/default.aspx](http://support.microsoft.com/default.aspx).
4343

4444
The following scenario will cause the linker to produce symbol errors for multiply defined classes. Assume that you are exporting a `CString`-derived class (`CMyString`) from an MFC extension DLL:
4545

docs/atl-mfc-shared/reference/cstringt-class.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ public CSimpleStringT<BaseType,
159159
`CString`, `CStringA`, and `CStringW` are exported from the MFC DLL (MFC90.DLL), never from user DLLs. This is done to prevent `CStringT` from being multiply defined.
160160

161161
> [!NOTE]
162-
> If you encountered linker errors when exporting a `CString`-derived class from an MFC extension DLL in Visual C++ .NET 2002 and have applied the workaround as described in the Knowledge Base article, "Linking Errors When You Import CString-Derived Classes" (Q309801), you should remove the workaround code, because this has been fixed in Visual C++ .NET 2003. You can find Knowledge Base articles on the MSDN Library CD-ROM or at [http://support.microsoft.com/support](http://support.microsoft.com/support).
162+
> If you encountered linker errors when exporting a `CString`-derived class from an MFC extension DLL in Visual C++ .NET 2002 and have applied the workaround as described in the Knowledge Base article, "Linking Errors When You Import CString-Derived Classes" (Q309801), you should remove the workaround code, because this has been fixed in Visual C++ .NET 2003. You can find Knowledge Base articles at [http://support.microsoft.com/support](http://support.microsoft.com/support).
163163
164164
The following string types are available within MFC-based applications:
165165

docs/build/reference/calculating-necessary-values.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,4 +62,4 @@ CountOfImports(PCImgThunkData pitdBase) {
6262
```
6363

6464
## See Also
65-
[Understanding the Helper Function](http://msdn.microsoft.com/en-us/6279c12c-d908-4967-b0b3-cabfc3e91d3d)
65+
[Understanding the Helper Function](understanding-the-helper-function.md)

docs/build/reference/changes-in-the-dll-delayed-loading-helper-function-since-visual-cpp-6-0.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,4 +71,4 @@ If you have multiple versions of Visual C++ on your computer or if you defined y
7171
The linker can load all imports from a DLL that you specified to be delay loaded. See [Loading All Imports for a Delay-Loaded DLL](../../build/reference/loading-all-imports-for-a-delay-loaded-dll.md) for more information.
7272

7373
## See Also
74-
[Understanding the Helper Function](http://msdn.microsoft.com/en-us/6279c12c-d908-4967-b0b3-cabfc3e91d3d)
74+
[Understanding the Helper Function](understanding-the-helper-function.md)

docs/build/reference/delaysign-partially-sign-an-assembly.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ translation.priority.ht:
5757

5858
For example, using **/DELAYSIGN** allows a tester to put the assembly in the global cache. After testing, you can fully sign the assembly by placing the private key in the assembly.
5959

60-
See [Strong Name Assemblies (Assembly Signing) (C++/CLI)](../../dotnet/strong-name-assemblies-assembly-signing-cpp-cli.md) and [Delay Signing an Assembly](http://msdn.microsoft.com/Library/9d300e17-5bf1-4360-97da-2aa55efd9070) for more information on signing an assembly.
60+
See [Strong Name Assemblies (Assembly Signing) (C++/CLI)](../../dotnet/strong-name-assemblies-assembly-signing-cpp-cli.md) and [Delay Signing an Assembly](/dotnet/framework/app-domains/delay-sign-assembly) for more information on signing an assembly.
6161

6262
Other linker options that affect assembly generation are:
6363

docs/build/reference/error-handling-and-notification.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ translation.priority.ht:
3333
- "zh-tw"
3434
---
3535
# Error Handling and Notification
36-
For more information on error handling and notification, see [Understanding the Helper Function](http://msdn.microsoft.com/en-us/6279c12c-d908-4967-b0b3-cabfc3e91d3d).
36+
For more information on error handling and notification, see [Understanding the Helper Function](understanding-the-helper-function.md).
3737

3838
For more information on hook functions, see [Structure and Constant Definitions](../../build/reference/structure-and-constant-definitions.md).
3939

docs/build/reference/fu-name-forced-hash-using-file.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ A compiler option that you can use as an alternative to passing a file name to [
5656

5757
If you are using [!INCLUDE[cppcli](../../build/reference/includes/cppcli_md.md)] and are referencing metadata to use the [Friend Assemblies](../../dotnet/friend-assemblies-cpp.md) feature, you can't use **/FU**. You must reference the metadata in code by using `#using`—together with the `[as friend]` attribute. Friend assemblies are not supported in [!INCLUDE[cppwrt](../../build/reference/includes/cppwrt_md.md)] ([!INCLUDE[cppwrt_short](../../build/reference/includes/cppwrt_short_md.md)]).
5858

59-
For information about how to create an assembly or module for the common language runtime (CLR), see [/clr (Common Language Runtime Compilation)](../../build/reference/clr-common-language-runtime-compilation.md). For information about how to build in [!INCLUDE[cppwrt_short](../../build/reference/includes/cppwrt_short_md.md)], see [Building apps and libraries](http://msdn.microsoft.com/Library/ec2821a5-3479-4e64-9c2d-c777049f2cdc).
59+
For information about how to create an assembly or module for the common language runtime (CLR), see [/clr (Common Language Runtime Compilation)](../../build/reference/clr-common-language-runtime-compilation.md). For information about how to build in [!INCLUDE[cppwrt_short](../../build/reference/includes/cppwrt_short_md.md)], see [Building apps and libraries](../../cppcx/building-apps-and-libraries-c-cx.md).
6060

6161
### To set this compiler option in the Visual Studio development environment
6262

docs/build/reference/linker-support-for-delay-loaded-dlls.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ The Visual C++ linker now supports the delayed loading of DLLs. This relieves yo
6565

6666
- [Constraints of Delay Loading DLLs](../../build/reference/constraints-of-delay-loading-dlls.md)
6767

68-
- [Understanding the Helper Function](http://msdn.microsoft.com/en-us/6279c12c-d908-4967-b0b3-cabfc3e91d3d)
68+
- [Understanding the Helper Function](understanding-the-helper-function.md)
6969

7070
- [Developing Your Own Helper Function](../../build/reference/developing-your-own-helper-function.md)
7171

docs/build/reference/unloading-a-delay-loaded-dll.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,4 +80,4 @@ __FUnloadDelayLoadedDLL2("User32.DLL");.
8080
```
8181

8282
## See Also
83-
[Understanding the Helper Function](http://msdn.microsoft.com/en-us/6279c12c-d908-4967-b0b3-cabfc3e91d3d)
83+
[Understanding the Helper Function](understanding-the-helper-function.md)

docs/build/reference/z7-zi-zi-debug-information-format.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ Select the type of debugging information created for your program and whether th
8383

8484
You can use [/Gm (Enable Minimal Rebuild)](../../build/reference/gm-enable-minimal-rebuild.md) with **/Zi**, whereas **/Gm** is not available when compiling with **/Z7**.
8585

86-
When compiling with **/Zi** and **/clr**, the <xref:System.Diagnostics.DebuggableAttribute> attribute will not be placed in the assembly metadata; you must specify it in source code, if you want it. This attribute can affect the runtime performance of the application. For more information about how the Debuggable attribute affects performance and how you can modify the performance impact, see [Making an Image Easier to Debug](http://msdn.microsoft.com/Library/7d90ea7a-150f-4f97-98a7-f9c26541b9a3).
86+
When compiling with **/Zi** and **/clr**, the <xref:System.Diagnostics.DebuggableAttribute> attribute will not be placed in the assembly metadata; you must specify it in source code, if you want it. This attribute can affect the runtime performance of the application. For more information about how the Debuggable attribute affects performance and how you can modify the performance impact, see [Making an Image Easier to Debug](/dotnet/framework/debug-trace-profile/making-an-image-easier-to-debug).
8787

8888
**/ZI**
8989
Produces a program database, as described above, in a format that supports the Edit and Continue feature. If you want to use Edit and Continue debugging, you must use this option. Because most optimizations are incompatible with Edit and Continue, using **/ZI** disables any `#pragma optimize` statements in your code.

0 commit comments

Comments
 (0)