Skip to content

Commit 8ff04c2

Browse files
author
mikeblome
committed
moved optimization topics under Release Builds in and did a first pass refactor of msbuild topics and TOC positions
1 parent 2bfd5f9 commit 8ff04c2

28 files changed

+150
-124
lines changed

docs/build/TOC.md

Lines changed: 26 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
## [Add source files to a project](using-visual-cpp-add-new-item-templates.md)
55
## [Install libraries](../vcpkg.md)
66
## [Reference libraries and components at build time](adding-references-in-visual-cpp-projects.md)
7-
## [Precompiled header files](reference/creating-precompiled-header-files.md)
7+
## [Precompiled header files](creating-precompiled-header-files.md)
88
## [Set compiler and build properties](working-with-project-properties.md)
99
### [Create reusable build configurations](create-reusable-property-configurations.md)
1010
### [Project property inheritance](project-property-inheritance.md)
@@ -24,28 +24,43 @@
2424
# [CMake projects](cmake-tools-for-visual-cpp.md)
2525
# [Open Folder projects](non-msbuild-projects.md)
2626
# [Windows makefile projects (NMAKE)](creating-a-makefile-project.md)
27-
# [Release Builds](release-builds.md)
27+
# [Create optimized release builds](release-builds.md)
2828
## [How to: Create a Release Build](how-to-create-a-release-build.md)
2929
## [Common Problems When Creating a Release Build](common-problems-when-creating-a-release-build.md)
3030
## [Fixing Release Build Problems](fixing-release-build-problems.md)
3131
### [Using VERIFY Instead of ASSERT](using-verify-instead-of-assert.md)
3232
### [Using the Debug Build to Check for Memory Overwrite](using-the-debug-build-to-check-for-memory-overwrite.md)
3333
### [How to: Debug a Release Build](how-to-debug-a-release-build.md)
3434
### [Checking for Memory Overwrites](checking-for-memory-overwrites.md)
35+
## [Optimizing Your Code](optimizing-your-code.md)
36+
### [Optimization Pragmas and Keywords](optimization-pragmas-and-keywords.md)
37+
### [Improving Compiler Throughput](improving-compiler-throughput.md)
38+
### [Why Floating-Point Numbers May Lose Precision](why-floating-point-numbers-may-lose-precision.md)
39+
### [IEEE Floating-Point Representation](ieee-floating-point-representation.md)
40+
### [Tips for Improving Time-Critical Code](tips-for-improving-time-critical-code.md)
41+
### [Using Function Name Without () Produces No Code](using-function-name-without-parens-produces-no-code.md)
42+
### [Optimization Best Practices](optimization-best-practices.md)
43+
### [Profile-Guided Optimizations](profile-guided-optimizations.md)
44+
### [Environment Variables for Profile-Guided Optimizations](environment-variables-for-profile-guided-optimizations.md)
45+
### [PgoAutoSweep](pgoautosweep.md)
46+
### [pgomgr](pgomgr.md)
47+
### [pgosweep](pgosweep.md)
48+
### [How to: Merge Multiple PGO Profiles into a Single Profile](how-to-merge-multiple-pgo-profiles-into-a-single-profile.md)
49+
### [Visual Studio 2013 PGO Add-in in the Performance and Diagnostics Hub](profile-guided-optimization-in-the-performance-and-diagnostics-hub.md)
3550
# [Use the MSVC toolset from the command line](building-on-the-command-line.md)
3651
## [Walkthrough: Compile a Native C++ Program on the Command Line](walkthrough-compiling-a-native-cpp-program-on-the-command-line.md)
3752
## [Walkthrough: Compile a C program on the command line](walkthrough-compile-a-c-program-on-the-command-line.md)
3853
## [Walkthrough: Compiling a C++/CLI Program on the Command Line](walkthrough-compiling-a-cpp-cli-program-on-the-command-line.md)
3954
## [Walkthrough: Compiling a C++/CX Program on the Command Line](walkthrough-compiling-a-cpp-cx-program-on-the-command-line.md)
4055
## [Set the Path and Environment Variables for Command-Line Builds](setting-the-path-and-environment-variables-for-command-line-builds.md)
41-
## [Compiler Command-Line Syntax](reference/compiler-command-line-syntax.md)
42-
### [CL Filename Syntax](reference/cl-filename-syntax.md)
43-
### [Order of CL Options](reference/order-of-cl-options.md)
44-
### [Return Value of cl.exe](reference/return-value-of-cl-exe.md)
45-
## [CL Environment Variables](reference/cl-environment-variables.md)
46-
## [CL Command Files](reference/cl-command-files.md)
47-
## [Fast Compilation](reference/fast-compilation.md)
48-
## [CL Invokes the Linker](reference/cl-invokes-the-linker.md)
56+
## [Compiler Command-Line Syntax](compiler-command-line-syntax.md)
57+
### [CL Filename Syntax](cl-filename-syntax.md)
58+
### [Order of CL Options](order-of-cl-options.md)
59+
### [Return Value of cl.exe](return-value-of-cl-exe.md)
60+
## [CL Environment Variables](cl-environment-variables.md)
61+
## [CL Command Files](cl-command-files.md)
62+
## [Fast Compilation](fast-compilation.md)
63+
## [CL Invokes the Linker](cl-invokes-the-linker.md)
4964
# [Use MSBuild from the command line](msbuild-visual-cpp.md)
5065
## [Walkthrough: Using MSBuild to Create a C++ Project](walkthrough-using-msbuild-to-create-a-visual-cpp-project.md)
5166
## [How to: Use Build Events in MSBuild Projects](how-to-use-build-events-in-msbuild-projects.md)
@@ -101,12 +116,4 @@
101116
### [Manifest Generation at the Command Line](manifest-generation-at-the-command-line.md)
102117
### [How to: Embed a Manifest Inside a C/C++ Application](how-to-embed-a-manifest-inside-a-c-cpp-application.md)
103118
## [Troubleshooting C/C++ Isolated Applications and Side-by-side Assemblies](troubleshooting-c-cpp-isolated-applications-and-side-by-side-assemblies.md)
104-
# [Optimizing Your Code](reference/optimizing-your-code.md)
105-
## [Optimization Pragmas and Keywords](reference/optimization-pragmas-and-keywords.md)
106-
## [Improving Compiler Throughput](reference/improving-compiler-throughput.md)
107-
## [Why Floating-Point Numbers May Lose Precision](reference/why-floating-point-numbers-may-lose-precision.md)
108-
## [IEEE Floating-Point Representation](reference/ieee-floating-point-representation.md)
109-
## [Tips for Improving Time-Critical Code](reference/tips-for-improving-time-critical-code.md)
110-
## [Using Function Name Without () Produces No Code](reference/using-function-name-without-parens-produces-no-code.md)
111-
## [Optimization Best Practices](reference/optimization-best-practices.md)
112-
# [C/C++ Building Reference](reference/TOC.md)
119+
# [C/C++ Building Reference](reference/c-cpp-building-reference.md)

docs/build/building-c-cpp-programs.md

Lines changed: 18 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,7 @@ f1_keywords: ["vcbuilding", "buildingaprogramVC"]
55
helpviewer_keywords: ["builds [C++]", "Visual C++ projects, building", "projects [C++], building", "builds [C++], options", "Visual C++, build options"]
66
ms.assetid: fa6ed4ff-334a-4d99-b5e2-a1f83d2b3008
77
---
8-
# Building C/C++ Projects
9-
---
10-
title: "Building C/C++ Programs"
11-
ms.date: "11/27/2018"
12-
f1_keywords: ["vcbuilding", "buildingaprogramVC"]
13-
helpviewer_keywords: ["builds [C++]", "Visual C++ projects, building", "projects [C++], building", "builds [C++], options", "Visual C++, build options"]
14-
ms.assetid: fa6ed4ff-334a-4d99-b5e2-a1f83d2b3008
15-
---
16-
# Building C/C++ Programs
8+
# Building C/C++ projects
179

1810
In Visual Studio 2017 and later, the build system and compiler toolset are decoupled from the IDE. This means you can use Visual Studio to edit any existing code base with full IntelliSense support without having to convert that code into a Visual Studio project or use MSVC to compile it. For example, you can edit a CMake project in Visual Studio on your local machine, then compile it using g++ on a remote Linux machine.
1911

@@ -58,26 +50,31 @@ You can invoke MSBuild from the command line by passing it a .vcxproj file along
5850

5951
## In This Section
6052

61-
[Building C++ Projects in Visual Studio](../ide/building-cpp-projects-in-visual-studio.md)<br/>
62-
Discusses how to use the Visual Studio IDE to build your C/C++ project.
53+
[Visual Studio projects](creating-and-managing-visual-cpp-projects.md)
54+
How to create, configure, and build C++ projects in Visual Studio using its native build system (MSBuild).
55+
56+
[CMake projects](cmake-tools-for-visual-cpp.md)
57+
How to code, build, and deploy CMake projects in Visual Studio.
58+
59+
[Open Folder projects](non-msbuild-projects.md)
60+
How to use Visual Studio to code, build and deploy projects based on any arbitrary build system, or no build system. at all.
6361

64-
[Build C/C++ code on the command line](../build/building-on-the-command-line.md)<br/>
65-
Discusses how to use the C/C++ command-line compiler and build tools that are included in Visual Studio.
62+
[Release builds](release-builds.md)
63+
How to create and troubleshoot optimized release builds for deployment to end users.
64+
65+
[Use the MSVC toolset from the command line](../build/building-on-the-command-line.md)<br/>
66+
Discusses how to use the C/C++ compiler and build tools directly from the command line rather than using the Visual Studio IDE.
67+
68+
[Building DLLs in Visual Studio](dlls-in-visual-cpp.md)
69+
How to create, debug and deploy C/C++ DLLs (shared libraries) in Visual Studio.
6670

6771
[Building C/C++ Isolated Applications and Side-by-side Assemblies](../build/building-c-cpp-isolated-applications-and-side-by-side-assemblies.md)<br/>
6872
Describes the deployment model for Windows Desktop applications, based on the idea of isolated applications and side-by-side assemblies.
6973

7074
[C/C++ Building Reference](../build/reference/c-cpp-building-reference.md)<br/>
7175
Provides links to reference articles about program building in C++, compiler and linker options, and various build tools.
7276

73-
[Configure Visual C++ for 64-bit, x64 targets](../build/configuring-programs-for-64-bit-visual-cpp.md)<br/>
74-
Describes how to configure both Visual Studio and the command line to use the 64-bit toolset and how to target 64-bit architectures, and discusses common migration issues when code is moved to 64-bit architectures.
7577

76-
[Configure Visual C++ for ARM processors](../build/configuring-programs-for-arm-processors-visual-cpp.md)<br/>
77-
Describes the conventions used by ARM processors, and discusses common migration issues when code is moved to ARM architectures.
78-
79-
[Configuring Programs for Windows XP](../build/configuring-programs-for-windows-xp.md)<br/>
80-
Describes how to set the Platform Toolset to target Windows XP development.
8178

8279
## Related Sections
8380

@@ -104,13 +101,8 @@ How to use the C/C++ compiler and build tools directly from the command line.
104101
[Building C/C++ Isolated Applications and Side-by-side Assemblies](../build/building-c-cpp-isolated-applications-and-side-by-side-assemblies.md)<br/>
105102
Describes the deployment model for Windows Desktop applications, based on the idea of isolated applications and side-by-side assemblies.
106103

107-
[Optimizing Your Code](reference/optimizing-your-code.md)
104+
[Optimizing Your Code](optimizing-your-code.md)
108105

109106
[C/C++ Building Reference](../build/reference/c-cpp-building-reference.md)<br/>
110107
Provides links to reference articles about program building in C++, compiler and linker options, and various build tools.
111108

112-
113-
## Related Sections
114-
115-
[Compiling and Building](/visualstudio/ide/compiling-and-building-in-visual-studio)<br/>
116-
Describes the Visual Studio build system and tools.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

docs/build/reference/environment-variables-for-profile-guided-optimizations.md renamed to docs/build/environment-variables-for-profile-guided-optimizations.md

File renamed without changes.
File renamed without changes.

docs/build/reference/how-to-merge-multiple-pgo-profiles-into-a-single-profile.md renamed to docs/build/how-to-merge-multiple-pgo-profiles-into-a-single-profile.md

File renamed without changes.

0 commit comments

Comments
 (0)