Skip to content

Commit 6700f53

Browse files
authored
Merge branch 'MicrosoftDocs:main' into main
2 parents bdb50bb + e6ede4d commit 6700f53

File tree

539 files changed

+15767
-12738
lines changed

Some content is hidden

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

539 files changed

+15767
-12738
lines changed
Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
---
2-
name: 'New C++ 2017 STL library documentation topic '
2+
name: 'New C++ 2017 STL library documentation topic'
33
about: Create a C++ 2017 doc tracking work item
44
title: ''
55
labels: C++17, STL doc work
66
assignees: ''
7-
87
---
8+
{Use this template to request **new** documentation to cover a feature area in the ISO C++17 standard library. Replace this text in curly braces with a description of the feature area to cover. Include a link to the proposal paper that introduced the issue (for example, `[N4086 Removing Trigraphs??!](https://wg21.link/n4086)`), or cite the chapter and section number or \[short.name] in the C++ standard that describes the feature. Add the Visual Studio version that first implements this feature. If you don't know or don't have these values, then this issue template probably isn't the right one to use.
9+
10+
If documentation already exists on docs.microsoft.com for this feature area, and you're requesting an update, bug fix, or clarification, don't use this template. Go to the article on docs.microsoft.com and use the **This page** button in the **Feedback** section at the bottom of the document to create a GitHub issue. Include a citation for the ISO standard feature area in your description.}
911

10-
ISO paper for this feature: [PaperID]()
11-
First implemented in: VS 20YY major.minor
12+
ISO paper or location in the standard for this feature: {insert link or section here}
13+
First implemented in: {VS 20YY major.minor}
Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
---
2-
name: 'New C++ 2020 STL library documentation topic '
2+
name: 'New C++ 2020 STL library documentation topic'
33
about: Create a C++ 2020 doc tracking work item
44
title: ''
55
labels: C++20, STL doc work
66
assignees: ''
7-
87
---
8+
{Use this template to request **new** documentation to cover a feature area in the ISO C++20 standard library. Replace this text in curly braces with a description of the feature area to cover. Include a link to the proposal paper that introduced the issue (for example, `[N4086 Removing Trigraphs??!](https://wg21.link/n4086)`), or cite the chapter and section number or \[short.name] in the C++ standard that describes the feature. Add the Visual Studio version that first implements this feature. If you don't know or don't have these values, then this issue template probably isn't the right one to use.
9+
10+
If documentation already exists on docs.microsoft.com for this feature area, and you're requesting an update, bug fix, or clarification, don't use this template. Go to the article on docs.microsoft.com and use the **This page** button in the **Feedback** section at the bottom of the document to create a GitHub issue. Include a citation for the ISO standard feature area in your description.}
911

10-
ISO paper for this feature: [PaperID]()
11-
First implemented in: VS 20YY major.minor
12+
ISO paper or location in the standard for this feature: {insert link or section here}
13+
First implemented in: {VS 20YY major.minor}
Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
---
2-
name: New C++ 2023 STL library documentation topic
2+
name: 'New C++ 2023 STL library documentation topic'
33
about: Create an issue to track C++ 2023 STL doc work
44
title: ''
5-
labels: C++23
5+
labels: C++23, STL doc work
66
assignees: ''
7-
87
---
8+
{Use this template to request **new** documentation to cover a feature area proposed for the ISO C++23 standard library. Replace this text in curly braces with a description of the feature area to cover. Include a link to the proposal paper that introduced the issue (for example, `[N4086 Removing Trigraphs??!](https://wg21.link/n4086)`), or cite the chapter and section number or \[short.name] in the C++ standard that describes the feature. Add the Visual Studio version that first implements this feature. If you don't know or don't have these values, then this issue template probably isn't the right one to use.
9+
10+
If documentation already exists on docs.microsoft.com for this feature area, and you're requesting an update, bug fix, or clarification, don't use this template. Go to the article on docs.microsoft.com and use the **This page** button in the **Feedback** section at the bottom of the document to create a GitHub issue. Include a citation for the ISO standard feature area in your description.}
911

10-
ISO paper for this feature: [PaperID](http link to iso paper)
11-
First implemented in: VS 20YY major.minor
12+
ISO paper or location in the standard for this feature: {insert link or section here}
13+
First implemented in: {VS 20YY major.minor}
Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
---
2-
name: 'New C++ STL library documentation topic '
2+
name: 'New C++ STL library documentation topic'
33
about: Create a C++ doc tracking work item
44
title: ''
55
labels: STL doc work
66
assignees: ''
7-
87
---
8+
{Use this template to request **new** documentation to cover a feature area in the ISO C++ standard library. Replace this text in curly braces with a description of the feature area to cover. Include a link to the tracking issue or PR in the [Microsoft/STL](https://github.com/microsoft/STL/pulls) repo that implements the feature area. If relevant, include a link to the proposal paper that introduced the issue (for example, `[N4086 Removing Trigraphs??!](https://wg21.link/n4086)`), or cite the chapter and section number or \[short.name] in the C++ standard that describes the feature. Add the Visual Studio version that first implements this feature. If you don't know or don't have these values, then this issue template probably isn't the right one to use.
9+
10+
If documentation already exists on docs.microsoft.com for this feature area, and you're requesting an update, bug fix, or clarification, don't use this template. Go to the article on docs.microsoft.com and use the **This page** button in the **Feedback** section at the bottom of the document to create a GitHub issue. If possible, include a citation for the ISO standard feature area in your description.}
911

10-
ISO paper for this feature: [PaperID]()
11-
First implemented in: VS YYYY major.minor
12+
[Microsoft/STL](https://github.com/microsoft/STL/pulls) PR, ISO paper or location in the standard for this feature: {insert link or section here}
13+
First implemented in: {VS 20YY major.minor}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
name: 'New C++20 compiler documentation topic'
3+
about: Create a C++ doc tracking work item
4+
title: ''
5+
labels: C++20, Standard doc work
6+
assignees: ''
7+
---
8+
{Use this template to request **new** documentation to cover a compiler feature area in the ISO C++20 standard. Replace this text in curly braces with a description of the feature area to cover. Include a link to the proposal paper that introduced the issue (for example, `[N4086 Removing Trigraphs??!](https://wg21.link/n4086)`), or cite the chapter and section number or \[short.name] in the C++ standard that describes the feature. Add the Visual Studio version that first implements this feature. If you don't know or don't have these values, then this issue template probably isn't the right one to use.
9+
10+
If documentation already exists on docs.microsoft.com for this feature area, and you're requesting an update, bug fix, or clarification, don't use this template. Go to the article on docs.microsoft.com and use the **This page** button in the **Feedback** section at the bottom of the document to create a GitHub issue. If possible, include a citation for the ISO standard feature area in your description.}
11+
12+
ISO paper or location in the standard for this feature: {insert link or section here}
13+
14+
First implemented in: {VS 20YY major.minor}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
name: 'New C++23 compiler documentation topic'
3+
about: Create a C++ doc tracking work item
4+
title: ''
5+
labels: C++23, Standard doc work
6+
assignees: ''
7+
---
8+
{Use this template to request **new** documentation to cover a compiler feature area in the ISO C++23 standard. Replace this text in curly braces with a description of the feature area to cover. Include a link to the proposal paper that introduced the issue (for example, `[N4086 Removing Trigraphs??!](https://wg21.link/n4086)`), or cite the chapter and section number or \[short.name] in the C++ standard that describes the feature. Add the Visual Studio version that first implements this feature. If you don't know or don't have these values, then this issue template probably isn't the right one to use.
9+
10+
If documentation already exists on docs.microsoft.com for this feature area, and you're requesting an update, bug fix, or clarification, don't use this template. Go to the article on docs.microsoft.com and use the **This page** button in the **Feedback** section at the bottom of the document to create a GitHub issue. If possible, include a citation for the ISO standard feature area in your description.}
11+
12+
ISO paper or location in the standard for this feature: {insert link or section here}
13+
14+
First implemented in: {VS 20YY major.minor}

.openpublishing.publish.config.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
"sync_notification_subscribers": null,
2929
"branches_to_filter": [],
3030
"git_repository_url_open_to_public_contributors": "https://github.com/Microsoft/cpp-docs",
31-
"git_repository_branch_open_to_public_contributors": "master",
31+
"git_repository_branch_open_to_public_contributors": "main",
3232
"skip_source_output_uploading": false,
3333
"need_preview_pull_request": true,
3434
"enable_incremental_build": true,
@@ -68,4 +68,4 @@
6868
"docs_build_engine": {
6969
"name": "docfx_v3"
7070
}
71-
}
71+
}

.openpublishing.redirection.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -860,6 +860,21 @@
860860
"redirect_url": "/cpp/build/reference/running-nmake",
861861
"redirect_document_id": false
862862
},
863+
{
864+
"source_path": "docs/build/manifest-generation-in-visual-studio.md",
865+
"redirect_url": "/cpp/build/understanding-manifest-generation-for-c-cpp-programs#manifest-generation-in-visual-studio",
866+
"redirect_document_id": false
867+
},
868+
{
869+
"source_path": "docs/build/manifest-generation-at-the-command-line.md",
870+
"redirect_url": "/cpp/build/understanding-manifest-generation-for-c-cpp-programs#manifest-generation-at-the-command-line",
871+
"redirect_document_id": false
872+
},
873+
{
874+
"source_path": "docs/build/how-to-embed-a-manifest-inside-a-c-cpp-application.md",
875+
"redirect_url": "/cpp/build/understanding-manifest-generation-for-c-cpp-programs#how-to-embed-a-manifest-inside-a-c-cpp-application",
876+
"redirect_document_id": false
877+
},
863878
{
864879
"source_path": "docs/build/unwind-data-for-exception-handling-debugger-support.md",
865880
"redirect_url": "/cpp/build/exception-handling-x64",

docs/assembler/arm/arm-assembler-command-line-reference.md

Lines changed: 74 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,78 +1,120 @@
11
---
22
title: "ARM Assembler command-line reference"
33
description: "Reference guide to the Microsoft ARM assembler command-line options."
4-
ms.date: "02/09/2020"
4+
ms.date: 05/09/2022
55
ms.assetid: f7b89478-1ab5-4995-8cde-a805f0462c45
66
---
77
# ARM Assembler command-line reference
88

9-
This article provides command-line information about the Microsoft ARM assembler, **armasm**. **armasm** assembles ARMv7 Thumb assembly language into the Microsoft implementation of the Common Object File Format (COFF). The linker can link COFF code objects produced by both the ARM assembler and the C compiler. It can link either together with object libraries created by the librarian.
9+
The Microsoft ARM assemblers, **armasm** and **armasm64**, support several command-line options. By default, **armasm** assembles ARMv7 Thumb assembly language into the Microsoft implementation of the Common Object File Format (COFF). The **armasm64** assembler creates COFF object code for ARM64 and ARM64EC targets. The linker can link COFF code objects produced by both the ARM assembler and the C/C++ compiler. It can link either together with object libraries created by the librarian.
1010

1111
## Syntax
1212

1313
> **`armasm`** [*options*] *source_file* *object_file*\
14-
> **`armasm`** [*options*] **`-o`** *object_file* *source_file*
14+
> **`armasm`** [*options*] *source_file*
15+
16+
> **`armasm64`** [*options*] *source_file* *object_file*\
17+
> **`armasm64`** [*options*] *source_file*
1518
1619
### Parameters
1720

1821
*options*\
1922
A combination of zero or more of the following options:
2023

24+
- **`-16`**\
25+
Available only in **armasm**. Assemble source as 16-bit Thumb instructions. This option is the default.
26+
27+
- **`-32`**\
28+
Available only in **armasm**. Assemble source as 32-bit ARM instructions.
29+
30+
- **`-coff_thumb2_only`**\
31+
Available only in **armasm**. Allow only Thumb-2 code.
32+
33+
- **`-errorReport:`** *option*\
34+
This option is deprecated. In Windows Vista and later, error reporting is controlled by [Windows Error Reporting (WER)](/windows/win32/wer/windows-error-reporting) settings.
35+
2136
- **`-errors`** *filename*\
22-
Redirect error and warning messages to *filename*.
37+
**`-e`** *filename*\
38+
Redirect error and warning messages to *filename*. By default, these messages are sent to `stdout`.
2339

24-
- **`-i`** *dir*[**`;`**<em>dir</em>]\
25-
Add the specified directories to the include search path.
40+
- **`-funcOverride:`** *function_name*\
41+
Available only in **armasm64**. Emit function overriding support for *function_name*.
2642

27-
- **`-predefine`** *directive*\
28-
Specify a SETA, SETL, or SETS directive to predefine a symbol.\
29-
Example: `armasm.exe -predefine "COUNT SETA 150" source.asm`\
30-
For more information, see the [ARM Compiler armasm Reference Guide](https://developer.arm.com/documentation/dui0802/latest/).
43+
- **`-g`**\
44+
Generate debugging information.
3145

32-
- **`-nowarn`**\
33-
Disable all warning messages.
46+
- **`-gh:SHA1`**\
47+
Use the SHA-1 cryptographic hash algorithm to generate a checksum of each source file in debug info. Overrides **`-gh:SHA256`**.
3448

35-
- **`-ignore`** *warning*\
36-
Disable the specified warning. For possible values, see the section about warnings.
49+
- **`-gh:SHA256`**\
50+
Use the SHA-256 cryptographic hash algorithm to generate a checksum of each source file in debug info. This option is on by default in Visual Studio 2022 version 17.0 and later.
51+
52+
- **`-guard:ehcont`**[**`-`**]\
53+
Generate a sorted list of the relative virtual addresses (RVA) of all the valid exception handling continuation targets for a binary. It's used at runtime for `NtContinue` and `SetThreadContext` instruction pointer validation. By default, **`-guard:ehcont`** is off and must be explicitly enabled. To explicitly disable this option, use **`-guard:ehcont-`**. This option is available in Visual Studio 2019 version 16.7 and later. The feature is supported for 64-bit processes on a 64-bit OS.
3754

3855
- **`-help`**\
39-
Print the command-line help message.
56+
**`-h`**\
57+
Print the command-line help message.
58+
59+
- **`-i`** *dir*[**`;`** *dir*]\
60+
Add one or more specified directories to the include search path. Separate directories by using a semi-colon (`;`).
61+
62+
- **`-ignore`** *warning_number*\
63+
Disable the specified warning number. For possible values, see [ARM Assembler diagnostic messages](arm-assembler-diagnostic-messages.md).
64+
65+
- **`-list`** *list_file*\
66+
Create a detailed listing of the generated assembly language to *list_file*. The *list_file* parameter is optional. If it's omitted, the assembler appends *`.lst`* to the base name of *source_file* to create the listing file.
4067

4168
- **`-machine`** *machine*\
42-
Specify the machine type to set in the PE header. Possible values for *machine* are:\
43-
**ARM**—Sets the machine type to IMAGE_FILE_MACHINE_ARMNT. This option is the default.\
44-
**THUMB**—Sets the machine type to IMAGE_FILE_MACHINE_THUMB.
69+
Specify the machine type to set in the PE header. In **armasm**, possible values for *machine* are:
70+
- **ARM**—Sets the machine type to `IMAGE_FILE_MACHINE_ARMNT`. This option is the default.
71+
- **THUMB**—Sets the machine type to `IMAGE_FILE_MACHINE_THUMB`.
4572

46-
- **`-oldit`**\
47-
Generate ARMv7-style IT blocks. By default, ARMv8-compatible IT blocks are generated.
73+
In **armasm64**, possible values are:
74+
- **ARM64**—Sets the machine type to `IMAGE_FILE_MACHINE_ARM64`. This option is the default.
75+
- **ARM64EC**—Sets the machine type to `IMAGE_FILE_MACHINE_ARM64EC`.
4876

49-
- **`-via`** *filename*\
50-
Read additional command-line arguments from *filename*.
77+
- **`-noesc`**\
78+
**`-noe`**\
79+
Ignore C-style escaped special characters, such as `\n` or `\t`.
5180

52-
- **`-16`**\
53-
Assemble source as 16-bit Thumb instructions. This option is the default.
81+
- **`-nologo`**\
82+
Suppress the copyright banner.
5483

55-
- **`-32`**\
56-
Assemble source as 32-bit ARM instructions.
84+
- **`-nowarn`**\
85+
**`-now`**\
86+
Disable all warning messages.
5787

58-
- **`-g`**\
59-
Generate debugging information.
88+
- **`-o`** *object_file*\
89+
Specify the name of the object (output) file. The **`-o`** option is optional; you can instead specify an object file name as the last element of the command line.
6090

61-
- **`-errorReport:`** *option*\
62-
This option is deprecated. Starting in Windows Vista, error reporting is controlled by [Windows Error Reporting (WER)](/windows/win32/wer/windows-error-reporting) settings.
91+
- **`-oldit`**\
92+
Available only in **armasm**. Generate ARMv7-style IT blocks. By default, ARMv8-compatible IT blocks are generated.
93+
94+
- **`-predefine`** *directive*\
95+
**`-pd`** *directive*\
96+
Specify a SETA, SETL, or SETS directive to predefine a symbol.\
97+
Example: `armasm.exe -predefine "COUNT SETA 150" source.asm`\
98+
For more information, see the [ARM Compiler armasm Reference Guide](https://developer.arm.com/documentation/dui0802/latest/).
99+
100+
- **`-sourcelink:`** *sourcelink_filename*\
101+
*sourcelink_filename* specifies a JSON-formatted configuration file that contains a simple mapping of local file paths to URLs for source files to display in the debugger. For more information on the format of this file, see [Source Link JSON Schema](https://github.com/dotnet/designs/blob/master/accepted/2020/diagnostics/source-link.md#source-link-json-schema). Source Link is a language- and source-control agnostic system for providing source debugging for binaries. Source Link is supported for native binaries starting in Visual Studio 2017 version 15.8. For an overview of Source Link, see [Source Link](https://github.com/dotnet/designs/blob/master/accepted/2020/diagnostics/source-link.md). For information on how to use Source Link in your projects, and how to generate the SourceLink file as part of your project, see [Using Source Link](https://github.com/dotnet/sourcelink#using-source-link-in-c-projects).
102+
103+
- **`-via`** *filename*\
104+
Read extra command-line arguments from *filename*.
63105

64106
*source_file*\
65107
The name of the source file.
66108

67109
*object_file*\
68-
The name of the object (output) file.
110+
The last element of the command line can specify the name of the object (output) file. If it's omitted, and no **`-o`** option is specified, the assembler appends *`.obj`* to the base name of *source_file* to create the object file.
69111

70112
## Remarks
71113

72114
The following example demonstrates how to use armasm in a typical scenario. First, use armasm to build an assembly language source (.asm) file to an object (.obj) file. Then, use the CL command-line C compiler to compile a source (.c) file, and also specify the linker option to link the ARM object file.
73115

74116
```cmd
75-
armasm myasmcode.asm -o myasmcode.obj
117+
armasm -o myasmcode.obj myasmcode.asm
76118
cl myccode.c /link myasmcode.obj
77119
```
78120

0 commit comments

Comments
 (0)