Skip to content

Commit bb06a37

Browse files
author
Colin Robertson
authored
Merge pull request #1587 from corob-msft/cr-test-image-title
Fix image titles and add br tags for figure legends
2 parents 6e8b60b + b640c24 commit bb06a37

File tree

123 files changed

+399
-427
lines changed

Some content is hidden

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

123 files changed

+399
-427
lines changed

docs/atl/atl-collection-classes.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: "ATL Collection Classes"
3-
ms.date: "11/04/2016"
3+
ms.date: "11/19/2018"
44
helpviewer_keywords: ["DestructElements function", "collection classes, choosing", "ConstructElements function", "SerializeElements function", "traits classes", "collection classes, about collection classes", "CTraits classes", "collection classes"]
55
ms.assetid: 4d619d46-5b4e-41dd-b9fd-e86b1fbc00b5
66
---
@@ -96,7 +96,7 @@ For a list of the CTraits classes, see [Collection Classes](../atl/collection-cl
9696

9797
The following diagram shows the class hierarchy for the CTraits classes.
9898

99-
![Traits hierarchy for collection classes](../atl/media/vctraitscollectionclasseshierarchy.gif "vctraitscollectionclasseshierarchy")
99+
![Traits hierarchy for collection classes](../atl/media/vctraitscollectionclasseshierarchy.gif "Traits hierarchy for collection classes")
100100

101101
## Collection Classes Samples
102102

@@ -114,4 +114,3 @@ The following samples demonstrate the collection classes:
114114

115115
[Concepts](../atl/active-template-library-atl-concepts.md)<br/>
116116
[Collection Classes](../atl/collection-classes.md)
117-

docs/atl/atl-connection-points.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ ms.assetid: 17d76165-5f83-4f95-b36d-483821c247a1
88

99
A connectable object is one that supports outgoing interfaces. An outgoing interface allows the object to communicate with a client. For each outgoing interface, the connectable object exposes a connection point. Each outgoing interface is implemented by a client on an object called a sink.
1010

11-
![Connection points](../atl/media/vc2zw31.gif "vc2zw31")
11+
![Connection points](../atl/media/vc2zw31.gif "Connection points")
1212

1313
Each connection point supports the [IConnectionPoint](/windows/desktop/api/ocidl/nn-ocidl-iconnectionpoint) interface. The connectable object exposes its connection points to the client through the [IConnectionPointContainer](/windows/desktop/api/ocidl/nn-ocidl-iconnectionpointcontainer) interface.
1414

docs/atl/example-implementing-a-property-page.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: "Implementing a Property Page (ATL)"
3-
ms.date: "11/04/2016"
3+
ms.date: "11/19/2018"
44
helpviewer_keywords: ["property pages, implementing"]
55
ms.assetid: c30b67fe-ce08-4249-ae29-f3060fa8d61e
66
---
@@ -51,7 +51,7 @@ Click **OK** to have the wizard generate your property page.
5151

5252
Now that your property page has been generated, you'll need to add a few controls to the dialog resource representing your page. Add an edit box, a static text control, and a check box and set their IDs as shown below:
5353

54-
![Editing a dialog resource](../atl/media/ppgresourcelabeled.gif "ppgresourcelabeled")
54+
![Editing a dialog resource](../atl/media/ppgresourcelabeled.gif "Editing a dialog resource")
5555

5656
These controls will be used to display the file name of the document and its read-only status.
5757

docs/atl/fundamentals-of-atl-com-objects.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
---
22
title: "Fundamentals of ATL COM Objects"
3-
ms.date: "11/04/2016"
3+
ms.date: "11/19/2018"
44
helpviewer_keywords: ["COM, and ATL", "ATL, COM", "ATL COM objects", "COM objects, ATL"]
55
ms.assetid: 0f9c9d98-cc28-45da-89ac-dc94cee422fe
66
---
77
# Fundamentals of ATL COM Objects
88

99
The following illustration depicts the relationship among the classes and interfaces that are used to define an ATL COM object.
1010

11-
![ATL structure](../atl/media/vc307y1.gif "vc307y1")
11+
![ATL structure](../atl/media/vc307y1.gif "ATL structure")
1212

1313
> [!NOTE]
1414
> This diagram shows that `CComObject` is derived from `CYourClass` whereas `CComAggObject` and `CComPolyObject` include `CYourClass` as a member variable.

docs/atl/identifying-the-elements-of-the-dhtml-control-project.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: "Identifying the Elements of the DHTML Control Project"
3-
ms.date: "11/04/2016"
3+
ms.date: "11/19/2018"
44
helpviewer_keywords: ["HTML controls, ATL support", "DHTML controls, ATL support"]
55
ms.assetid: b627547a-3768-4346-9900-4b7a21fb8e27
66
---
@@ -18,7 +18,7 @@ A DHTML control is similar to any ATL control, except:
1818

1919
The following graphic illustrates the relationship between your DLL, the DHTML control, the Web browser, and the HTML resource.
2020

21-
![Elements of a DHTML control project](../atl/media/vc52en1.gif "vc52en1")
21+
![Elements of a DHTML control project](../atl/media/vc52en1.gif "Elements of a DHTML control project")
2222

2323
> [!NOTE]
2424
> The names on this graphic are placeholders. The names of your HTML resource and the interfaces exposed on your control are based on the names you assign them in the ATL Control Wizard.
@@ -39,7 +39,7 @@ In this graphic, the elements are:
3939

4040
The ATL Control Wizard generates a control with default code in both the HTML resource and the .cpp file. You can compile and run the control as generated by the wizard, and then view the control in either the Web browser or the ActiveX Control Test Container. The picture below shows the default ATL DHTML control with three buttons displayed in Test Container:
4141

42-
![ATL DHTML control](../atl/media/vc52en2.gif "vc52en2")
42+
![ATL DHTML control](../atl/media/vc52en2.gif "ATL DHTML control")
4343

4444
See [Creating an ATL DHTML Control](../atl/creating-an-atl-dhtml-control.md) to get started building a DHTML control. See [Testing Properties and Events with Test Container](../mfc/testing-properties-and-events-with-test-container.md) for information on how to access Test Container.
4545

docs/build/arm64-exception-handling.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: "ARM64 exception handling"
3-
ms.date: "07/11/2018"
3+
ms.date: "11/19/2018"
44
---
55
# ARM64 exception handling
66

docs/build/examples-of-structure-alignment.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: "Examples of Structure Alignment"
3-
ms.date: "03/26/2018"
3+
ms.date: "11/19/2018"
44
helpviewer_keywords: ["structure alignment", "examples [C++], structure alignment"]
55
ms.assetid: 03d137bf-5cc4-472e-9583-6498f2534199
66
---
@@ -18,7 +18,7 @@ _declspec(align(2)) struct {
1818
}
1919
```
2020
21-
![AMD conversion example](../build/media/vcamd_conv_ex_1_block.png "vcAmd_conv_ex_1")
21+
![AMD conversion example 1 structure layout](../build/media/vcamd_conv_ex_1_block.png "AMD conversion example 1 structure layout")
2222
2323
## Example 2
2424
@@ -32,7 +32,7 @@ _declspec(align(8)) struct {
3232
}
3333
```
3434

35-
![AMD conversion example](../build/media/vcamd_conv_ex_2_block.png "vcAmd_conv_ex_2")
35+
![AMD conversion example 2 structure layout](../build/media/vcamd_conv_ex_2_block.png "AMD conversion example 2 structure layout")
3636

3737
## Example 3
3838

@@ -47,7 +47,7 @@ _declspec(align(4)) struct {
4747
}
4848
```
4949
50-
![AMD conversion example](../build/media/vcamd_conv_ex_3_block.png "vcAmd_conv_ex_3")
50+
![AMD conversion example 2 structure layout](../build/media/vcamd_conv_ex_3_block.png "AMD conversion example 2 structure layout")
5151
5252
## Example 4
5353
@@ -61,7 +61,7 @@ _declspec(align(8)) union {
6161
}
6262
```
6363

64-
![AMD conversion example](../build/media/vcamd_conv_ex_4_block.png "vcAmd_conv_ex_4")
64+
![AMD conversion example 4 union layouit](../build/media/vcamd_conv_ex_4_block.png "AMD conversion example 4 union layouit")
6565

6666
## See also
6767

docs/build/reference/creating-precompiled-header-files.md

Lines changed: 5 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: "Creating Precompiled Header Files"
3-
ms.date: "11/04/2016"
3+
ms.date: "11/19/2018"
44
f1_keywords: ["pch"]
55
helpviewer_keywords: ["precompiled header files, creating", "PCH files, creating", "cl.exe compiler, precompiling code", ".pch files, creating"]
66
ms.assetid: e2cdb404-a517-4189-9771-c869c660cb1b
@@ -31,8 +31,6 @@ This topic covers the following precompiled header subjects:
3131

3232
For reference information on the compiler options related to precompiled headers, see [/Y (Precompiled Headers)](../../build/reference/y-precompiled-headers.md).
3333

34-
<a name="when-to-precompile-source-code"></a>
35-
3634
## When to Precompile Source Code
3735

3836
Precompiled code is useful during the development cycle to reduce compilation time, especially if:
@@ -46,11 +44,9 @@ The first compilation — the one that creates the precompiled header (PCH) file
4644
You can precompile both C and C++ programs. In C++ programming, it is common practice to separate class interface information into header files. These header files can later be included in programs that use the class. By precompiling these headers, you can reduce the time a program takes to compile.
4745

4846
> [!NOTE]
49-
> Although you can use only one precompiled header (.pch) file per source file, you can use multiple .pch files in a project.
50-
51-
<a name="two-choices-for-precompiling-code"></a>
47+
> Although you can use only one precompiled header (.pch) file per source file, you can use multiple .pch files in a project.
5248
53-
# Two Choices for Precompiling Code
49+
## Two Choices for Precompiling Code
5450

5551
With Visual C++, you can precompile any C or C++ code; you are not limited to precompiling only header files.
5652

@@ -62,14 +58,10 @@ The precompiled-header options are [/Yc (Create Precompiled Header File)](../../
6258

6359
The compiler option reference topics for **/Yu** and **/Yc** discuss how to access this functionality in the development environment.
6460

65-
<a name="precompiled-header-consistency-rules"></a>
66-
6761
## Precompiled Header Consistency Rules
6862

6963
Because PCH files contain information about the machine environment as well as memory address information about the program, you should only use a PCH file on the machine where it was created.
7064

71-
<a name="consistency-rules-for-per-file-use-of-precompiled-headers"></a>
72-
7365
## Consistency Rules for Per-File Use of Precompiled Headers
7466

7567
The [/Yu](../../build/reference/yu-use-precompiled-header-file.md) compiler option lets you specify which PCH file to use.
@@ -123,8 +115,6 @@ These pragmas are retained as part of a precompiled header, and affect the remai
123115
|`data_seg`|`intrinsic`|`warning`|
124116
|`function`|`optimize`||
125117

126-
<a name="consistency-rules-for-yc-and-yu"></a>
127-
128118
## Consistency Rules for /Yc and /Yu
129119

130120
When you use a precompiled header created using /Yc or /Yu, the compiler compares the current compilation environment to the one that existed when you created the PCH file. Be sure to specify an environment consistent with the previous one (using consistent compiler options, pragmas, and so on) for the current compilation. If the compiler detects an inconsistency, it issues a warning and identifies the inconsistency where possible. Such warnings don't necessarily indicate a problem with the PCH file; they simply warn you of possible conflicts. The following sections explain the consistency requirements for precompiled headers.
@@ -144,24 +134,20 @@ This table lists compiler options that might trigger an inconsistency warning wh
144134
> [!NOTE]
145135
> The precompiled header facility is intended for use only in C and C++ source files.
146136
147-
<a name="using-precompiled-headers-in-a-project"></a>
148-
149137
## Using Precompiled Headers in a Project
150138

151139
Previous sections present an overview of precompiled headers: /Yc and /Yu, the /Fp option, and the [hdrstop](../../preprocessor/hdrstop.md) pragma. This section describes a method for using the manual precompiled-header options in a project; it ends with an example makefile and the code that it manages.
152140

153141
For another approach to using the manual precompiled-header options in a project, study one of the makefiles located in the MFC\SRC directory that is created during the default setup of Visual C++. These makefiles take a similar approach to the one presented in this section but make greater use of Microsoft Program Maintenance Utility (NMAKE) macros, and offer greater control of the build process.
154142

155-
<a name="pch-files-in-the-build-process"></a>
156-
157143
## PCH Files in the Build Process
158144

159145
The code base of a software project is usually contained in multiple C or C++ source files, object files, libraries, and header files. Typically, a makefile coordinates the combination of these elements into an executable file. The following figure shows the structure of a makefile that uses a precompiled header file. The NMAKE macro names and the file names in this diagram are consistent with those in the example code found in [Sample Makefile for PCH](#sample-makefile-for-pch) and [Example Code for PCH](#example-code-for-pch).
160146

161147
The figure uses three diagrammatic devices to show the flow of the build process. Named rectangles represent each file or macro; the three macros represent one or more files. Shaded areas represent each compile or link action. Arrows show which files and macros are combined during the compilation or linking process.
162148

163-
![Makefile that uses a precompiled header file](../../build/reference/media/vc30ow1.gif "Structure of a Makefile That Uses a Precompiled Header File")
164-
##### Structure of a Makefile That Uses a Precompiled Header File
149+
![Structure of a makefile that uses a precompiled header file](../../build/reference/media/vc30ow1.gif "Structure of a makefile that uses a precompiled header file") <br/>
150+
Structure of a Makefile That Uses a Precompiled Header File
165151

166152
Beginning at the top of the diagram, both STABLEHDRS and BOUNDRY are NMAKE macros in which you list files not likely to need recompilation. These files are compiled by the command string
167153

@@ -177,8 +163,6 @@ MYAPP.obj represents your final application. It is created from MYAPP.cpp, the f
177163

178164
Finally, the executable file (MYAPP.EXE) is created by linking the files listed in the OBJS macro (APPLIB.obj and MYAPP.obj).
179165

180-
<a name="sample-makefile-for-pch"></a>
181-
182166
## Sample Makefile for PCH
183167

184168
The following makefile uses macros and an !IF, !ELSE, !ENDIF flow-of-control command structure to simplify its adaptation to your project.
@@ -244,8 +228,6 @@ NMAKE DEBUG=0
244228

245229
For more information on makefiles, see [NMAKE Reference](../../build/nmake-reference.md). Also see [Compiler Options](../../build/reference/compiler-options.md) and the [Linker Options](../../build/reference/linker-options.md).
246230

247-
<a name="example-code-for-pch"></a>
248-
249231
## Example Code for PCH
250232

251233
The following source files are used in the makefile described in [PCH Files in the Build Process](#pch-files-in-the-build-process) and [Sample Makefile for PCH](#sample-makefile-for-pch). Note that the comments contain important information.

docs/build/reference/profile-guided-optimization-in-the-performance-and-diagnostics-hub.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: "Profile Guided Optimization in the Performance and Diagnostics Hub"
3-
ms.date: "03/14/2018"
3+
ms.date: "11/19/2018"
44
ms.assetid: dc3a1914-dbb6-4401-bc63-10665a8c8943
55
---
66
# Profile Guided Optimization in the Visual Studio 2013 Performance and Diagnostics Hub
@@ -39,44 +39,44 @@ Next, set the build configuration of your app to Release to ready it for the PGO
3939

4040
Open the Performance and Diagnostics Hub—on the menu bar, choose **Analyze**, **Performance and Diagnostics**. This opens a diagnostics session page that has the analysis tools that are available for your project type.
4141

42-
![PGO in the Performance and Diagnostics Hub](../../build/reference/media/pgofig0hub.png "PGOFig0Hub")
42+
![PGO in the Performance and Diagnostics Hub](../../build/reference/media/pgofig0hub.png "PGO in the Performance and Diagnostics Hub")
4343

4444
In **Available Tools**, select the **Profile Guided Optimization** check box. Choose the **Start** button to start the PGO plug-in.
4545

46-
![PGO introduction page](../../build/reference/media/pgofig1start.png "PGOFig1Start")
46+
![PGO introduction page](../../build/reference/media/pgofig1start.png "PGO introduction page")
4747

4848
The **Profile Guided Optimization** page describes the steps the plug-in uses to improve the performance of your app. Choose the **Start** button.
4949

50-
![PGO instrumentation page](../../build/reference/media/pgofig2instrument.png "PGOFig2Instrument")
50+
![PGO instrumentation page](../../build/reference/media/pgofig2instrument.png "PGO instrumentation page")
5151

5252
In the **Instrumentation** section, you use the **Training is initially enabled** option to choose whether to include the startup phase of your app as part of the training. If this option is not selected, training data is not recorded in a running instrumented app until you explicitly enable training.
5353

5454
Choose the **Instrument** button to build your app with a special set of compiler options. The compiler inserts probe instructions in the generated code. These instructions record profiling data during the training phase.
5555

56-
![PGO instrumented build page](../../build/reference/media/pgofig3build.PNG "PGOFig3Build")
56+
![PGO instrumented build page](../../build/reference/media/pgofig3build.PNG "PGO instrumented build page")
5757

5858
When the instrumented build of your app is complete, the app is started automatically.
5959

6060
If any errors or warnings occur during the build, correct them and then choose **Restart Build** to restart the instrumented build.
6161

6262
When your app is started, you can use the **Start Training** and **Pause Training** links in the **Training** section to control when profiling information is recorded. You can use the **Stop Application** and **Start Application** links to stop and restart the app.
6363

64-
![PGO training page](../../build/reference/media/pgofig4training.PNG "PGOFig4Training")
64+
![PGO training page](../../build/reference/media/pgofig4training.PNG "PGO training page")
6565

6666
During training, go through your user scenarios to capture the profiling information that the PGO plug-in needs to optimize the code. When you have completed the training, close your app or choose the **Stop Application** link. Choose the **Analyze** button to start the analysis step.
6767

6868
When the analysis is complete, the **Analysis** section shows a report of the profiling information that was captured during the user-scenario training phase. You can use this report to examine which functions your app called the most and spent the most time in. The PGO plug-in uses the information to determine which app functions to optimize for speed and which to optimize for size. The PGO plug-in configures build optimizations to create the smallest, fastest app for the user scenarios that you recorded during training.
6969

70-
![PGO analysis page](../../build/reference/media/pgofig5analyze.png "PGOFig5Analyze")
70+
![PGO analysis page](../../build/reference/media/pgofig5analyze.png "PGO analysis page")
7171

7272
If the training captured the expected profiling information, you can choose **Save Changes** to save the analyzed profile data in your project to optimize future builds. To discard the profile data and start the training over from the beginning, choose **Redo Training**.
7373

7474
The profile data file is saved in your project in a **PGO Training Data** folder. This data is used to control the compiler build optimization settings in your app.
7575

76-
![PGO data file in Solution Explorer](../../build/reference/media/pgofig6data.png "PGOFig6Data")
76+
![PGO data file in Solution Explorer](../../build/reference/media/pgofig6data.png "PGO data file in Solution Explorer")
7777

7878
After analysis, the PGO plug-in sets build options in your project to use the profile data to selectively optimize your app during compilation. You can continue to modify and build your app with the same profile data. When the app is built, the build output reports how many functions and instructions were optimized by using profile data.
7979

80-
![PGO output diagnostics](../../build/reference/media/pgofig7diagnostics.png "PGOFig7Diagnostics")
80+
![PGO output diagnostics](../../build/reference/media/pgofig7diagnostics.png "PGO output diagnostics")
8181

8282
If you make significant code changes during development, you may have to retrain your app to get the best optimizations. We recommend that you retrain your app when the build output reports that less than 80 percent of functions or instructions were optimized by using profile data.

0 commit comments

Comments
 (0)