Skip to content

Commit 54db5ee

Browse files
authored
Merge branch 'main' into FromPrivateLiveToMaster
2 parents cb8ca25 + 1bad6b6 commit 54db5ee

File tree

7 files changed

+23
-27
lines changed

7 files changed

+23
-27
lines changed

docs/build/reference/largeaddressaware-handle-large-addresses.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
---
22
description: "Learn more about: /LARGEADDRESSAWARE (Handle Large Addresses)"
33
title: "/LARGEADDRESSAWARE (Handle Large Addresses)"
4-
ms.date: "11/04/2016"
4+
ms.date: "02/12/2024"
55
f1_keywords: ["VC.Project.VCLinkerTool.LargeAddressAware", "/largeaddressaware"]
66
helpviewer_keywords: ["LARGEADDRESSAWARE linker option", "-LARGEADDRESSAWARE linker option", "/LARGEADDRESSAWARE linker option"]
7-
ms.assetid: a29756c8-e893-47a9-9750-1f0d25359385
87
---
98
# /LARGEADDRESSAWARE (Handle Large Addresses)
109

@@ -14,9 +13,11 @@ ms.assetid: a29756c8-e893-47a9-9750-1f0d25359385
1413

1514
## Remarks
1615

17-
The /LARGEADDRESSAWARE option tells the linker that the application can handle addresses larger than 2 gigabytes. In the 64-bit compilers, this option is enabled by default. In the 32-bit compilers, /LARGEADDRESSAWARE:NO is enabled if /LARGEADDRESSAWARE is not otherwise specified on the linker line.
16+
The /LARGEADDRESSAWARE option tells the linker that the application can handle addresses larger than 2 gigabytes. In the 64-bit compilers, this option is enabled by default. In the 32-bit compilers, `/LARGEADDRESSAWARE:NO` is enabled if `/LARGEADDRESSAWARE` is not otherwise specified on the linker line.
1817

19-
If an application was linked with /LARGEADDRESSAWARE, DUMPBIN [/HEADERS](headers.md) will display information to that effect.
18+
If an application was linked with `/LARGEADDRESSAWARE`, `DUMPBIN` [/HEADERS](headers.md) will display information to that effect.
19+
20+
Linking 64-bit applications with **`/LARGEADDRESSAWARE:NO`** is not recommended because it restricts the available address space, which can result in runtime failures if the app exhausts memory. It may also prevent x64 apps from running on ARM64 systems because the emulation runtime will try to reserve 4GB of virtual address space. If the app was linked with `/LARGEADRESSAWARE:NO`, the app won't launch because it can't allocate that much address space.
2021

2122
### To set this linker option in the Visual Studio development environment
2223

docs/build/reference/sourcedependencies.md

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "/sourceDependencies (Report source-level dependencies)"
33
description: "Describes the /sourceDependencies compiler option in Microsoft C++."
4-
ms.date: 05/19/2022
4+
ms.date: 02/23/2024
55
author: "tylermsft"
66
ms.author: "twhitney"
77
f1_keywords: ["/sourceDependencies"]
@@ -65,7 +65,7 @@ where `...` represents your other compiler options. This command line produces a
6565

6666
```JSON
6767
{
68-
"Version": "1.1",
68+
"Version": "1.2",
6969
"Data": {
7070
"Source": "F:\\Sample\\myproject\\modulee.ixx",
7171
"ProvidedModule": "ModuleE",
@@ -88,10 +88,6 @@ where `...` represents your other compiler options. This command line produces a
8888
{
8989
"Header": "f:\\visual studio 16 main\\vc\\tools\\msvc\\14.29.30030\\include\\iostream",
9090
"BMI": "F:\\Sample\\Outputs\\Intermediate\\HeaderUnits\\x64\\Debug\\iostream_W4L4JYGFJ3GL8OG9.ifc"
91-
},
92-
{
93-
"Header": "f:\\visual studio 16 main\\vc\\tools\\msvc\\14.29.30030\\include\\yvals_core.h",
94-
"BMI": "F:\\Sample\\Outputs\\Intermediate\\HeaderUnits\\x64\\Debug\\yvals_core.h.ifc"
9591
}
9692
]
9793
}

docs/c-runtime-library/reference/gmtime-gmtime32-gmtime64.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "gmtime, _gmtime32, _gmtime64"
33
description: "API reference for gmtime, _gmtime32, and _gmtime64, which convert a time_t value."
4-
ms.date: "10/27/2020"
4+
ms.date: 02/23/2024
55
api_name: ["_gmtime32", "gmtime", "_gmtime64", "_o__gmtime32", "_o__gmtime64"]
66
api_location: ["msvcrt.dll", "msvcr80.dll", "msvcr90.dll", "msvcr100.dll", "msvcr100_clr0400.dll", "msvcr110.dll", "msvcr110_clr0400.dll", "msvcr120.dll", "msvcr120_clr0400.dll", "ucrtbase.dll", "api-ms-win-crt-time-l1-1-0.dll"]
77
api_type: ["DLLExport"]
@@ -54,9 +54,6 @@ These functions validate their parameters. If *`sourceTime`* is a `NULL` pointer
5454
5555
The **`_gmtime32`** function breaks down the *`sourceTime`* value and stores it in a statically allocated structure of type `tm`, defined in `TIME.H`. The value of *`sourceTime`* is typically obtained from a call to the [`time`](time-time32-time64.md) function.
5656
57-
> [!NOTE]
58-
> In most cases, the target environment tries to determine whether daylight savings time is in effect. The C run-time library assumes that the United States rules for implementing the calculation of Daylight Saving Time (DST) are used.
59-
6057
By default, this function's global state is scoped to the application. To change this behavior, see [Global state in the CRT](../global-state.md).
6158
6259
## Requirements

docs/c-runtime-library/reference/gmtime-s-gmtime32-s-gmtime64-s.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
description: "Learn more about: gmtime_s, _gmtime32_s, _gmtime64_s"
33
title: "gmtime_s, _gmtime32_s, _gmtime64_s"
4-
ms.date: "4/2/2020"
4+
ms.date: 02/23/2024
55
api_name: ["_gmtime32_s", "gmtime_s", "_gmtime64_s", "_o__gmtime32_s", "_o__gmtime64_s"]
66
api_location: ["msvcrt.dll", "msvcr80.dll", "msvcr90.dll", "msvcr100.dll", "msvcr100_clr0400.dll", "msvcr110.dll", "msvcr110_clr0400.dll", "msvcr120.dll", "msvcr120_clr0400.dll", "ucrtbase.dll", "api-ms-win-crt-time-l1-1-0.dll"]
77
api_type: ["DLLExport"]
@@ -56,9 +56,6 @@ The first two error conditions invoke the invalid parameter handler, as describe
5656

5757
The **`_gmtime32_s`** function breaks down the *`sourceTime`* value and stores it in a structure of type `tm`, defined in `Time.h`. The address of the structure is passed in *`tmDest`*. The value of *`sourceTime`* is often obtained from a call to the [`time`](time-time32-time64.md) function.
5858

59-
> [!NOTE]
60-
> The target environment should try to determine whether daylight savings time is in effect. The C run-time library assumes the United States rules for implementing the calculation of daylight saving time .
61-
6259
Each of the structure fields is of type **`int`**, as shown in the following table.
6360

6461
| Field | Description |

docs/cpp/assignment-operators.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "Assignment operators"
33
description: "The C++ standard language assignment operators syntax and use."
4-
ms.date: 07/24/2020
4+
ms.date: 02/23/2024
55
f1_keywords: ["=", "*=", "/=", "%=", "+=", "-=", "<<=", ">>=", "&=", "^=", "|="]
66
helpviewer_keywords: ["operators [C++], assignment", "assignment operators [C++], C++", "&= operator", "^= operator", "+= operator", ">>= operator", "|= operator", "operator>>=", "*= operator", "%= operator", "^= operator", "operator >>=", "= operator", "-= operator", "/= operator", "<<= operator"]
77
ms.assetid: b028cf35-2ff1-4f14-9027-fd53ebec8aa0
@@ -83,7 +83,7 @@ The simple assignment operator (**`=`**) causes the value of the second operand
8383

8484
Objects of **`const`** and **`volatile`** types can be assigned to l-values of types that are only **`volatile`**, or that aren't **`const`** or **`volatile`**.
8585

86-
Assignment to objects of class type (**`struct`**, **`union`**, and **`class`** types) is performed by a function named `operator=`. The default behavior of this operator function is to perform a bitwise copy; however, this behavior can be modified using overloaded operators. For more information, see [Operator overloading](../cpp/operator-overloading.md). Class types can also have *copy assignment* and *move assignment* operators. For more information, see [Copy constructors and copy assignment operators](copy-constructors-and-copy-assignment-operators-cpp.md) and [Move constructors and move assignment operators](move-constructors-and-move-assignment-operators-cpp.md).
86+
Assignment to objects of class type (**`struct`**, **`union`**, and **`class`** types) is performed by a function named `operator=`. The default behavior of this operator function is to perform a member-wise copy assignment of the object's non-static data members and direct base classes; however, this behavior can be modified using overloaded operators. For more information, see [Operator overloading](../cpp/operator-overloading.md). Class types can also have *copy assignment* and *move assignment* operators. For more information, see [Copy constructors and copy assignment operators](copy-constructors-and-copy-assignment-operators-cpp.md) and [Move constructors and move assignment operators](move-constructors-and-move-assignment-operators-cpp.md).
8787

8888
An object of any unambiguously derived class from a given base class can be assigned to an object of the base class. The reverse isn't true because there's an implicit conversion from derived class to base class, but not from base class to derived class. For example:
8989

@@ -154,13 +154,15 @@ The compound assignment operators are shown in the [Assignment operators table](
154154

155155
- a pointer, if *op* is **`+`** or **`-`**
156156

157-
The *e1* *op*= *e2* form behaves as *e1* **`=`** *e1* *op* *e2*, but *e1* is evaluated only once.
157+
- a type for which there exists a matching `operator *op*=` overload for the type of *e1*
158+
159+
The built-in *e1* *op*= *e2* form behaves as *e1* **`=`** *e1* *op* *e2*, but *e1* is evaluated only once.
158160

159161
Compound assignment to an enumerated type generates an error message. If the left operand is of a pointer type, the right operand must be of a pointer type, or it must be a constant expression that evaluates to 0. When the left operand is of an integral type, the right operand must not be of a pointer type.
160162

161-
## Result of assignment operators
163+
## Result of built-in assignment operators
162164

163-
The assignment operators return the value of the object specified by the left operand after the assignment. The resultant type is the type of the left operand. The result of an assignment expression is always an l-value. These operators have right-to-left associativity. The left operand must be a modifiable l-value.
165+
The built-in assignment operators return the value of the object specified by the left operand after the assignment (and the arithmetic/logical operation in the case of compound assignment operators). The resultant type is the type of the left operand. The result of an assignment expression is always an l-value. These operators have right-to-left associativity. The left operand must be a modifiable l-value.
164166

165167
In ANSI C, the result of an assignment expression isn't an l-value. That means the legal C++ expression `(a += b) += c` isn't allowed in C.
166168

docs/linux/connect-to-your-remote-linux-computer.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,10 @@ If `ssh` isn't already set up and running on your Linux system, follow these ste
8282
| **Private key file** | Private key file created for ssh connection |
8383
| **Passphrase** | Passphrase used with private key selected above |
8484

85-
You can use either a password or a key file and passphrase for authentication. For many development scenarios, password authentication is sufficient, but key files are more secure. If you already have a key pair, it's possible to reuse it. Currently Visual Studio only supports RSA and DSA keys for remote connections.
85+
You can use either a password or a key file and passphrase for authentication. For many development scenarios, password authentication is sufficient, but key files are more secure. If you already have a key pair, it's possible to reuse it.
86+
87+
Versions of Visual Studio before 17.10 support EC, RSA and DSA keys for remote connections. Because of security concerns, RSA and DSA keys are no longer supported in VS 17.10 and later. Only EC keys are currently supported. To create a key pair compatible with the connection manager use the command:
88+
`ssh-keygen -m pem -t ecdsa -f <key-name>`
8689

8790
> [!NOTE]
8891
> If using `ssh-keygen` to create the private key, you must specify the switch `-m pem`, or the key will not be accepted by Visual Studio. If your private key begins with `-----BEGIN OPENSSH PRIVATE KEY-----`, you must convert it with `ssh-keygen -p -f <FILE> -m pem`.
@@ -122,7 +125,7 @@ Starting in Visual Studio version 16.9, support for older, insecure SSH algorith
122125
| Encryption | `aes128-cbc`</br>`aes128-ctr`</br>`aes192-cbc`</br>`aes192-ctr`</br>`aes256-cbc`</br>`aes256-ctr` |
123126
| HMAC | `hmac-sha2-256`</br>`hmac-sha2-512` |
124127
| Key exchange | `diffie-hellman-group14-sha256`</br>`diffie-hellman-group16-sha512`</br>`diffie-hellman-group-exchange-sha256`</br>`ecdh-sha2-nistp256`</br>`ecdh-sha2-nistp384`</br>`ecdh-sha2-nistp521` |
125-
| Host key | `ecdsa-sha2-nistp256`</br>`ecdsa-sha2-nistp384`</br>`ecdsa-sha2-nistp521`</br>`ssh-dss`</br>`ssh-rsa` |
128+
| Host key | `ecdsa-sha2-nistp256`</br>`ecdsa-sha2-nistp384`</br>`ecdsa-sha2-nistp521` |
126129

127130
### Configure the SSH server
128131

@@ -178,7 +181,7 @@ For example: `KexAlgorithms ecdh-sha2-nistp256,ecdh-sha2-nistp384`
178181
#### Host key example
179182

180183
Add: `HostKeyAlgorithms <algorithms to enable>`
181-
For example: `HostKeyAlgorithms ssh-dss,ssh-rsa`
184+
For example: `HostKeyAlgorithms ecdsa-sha2-nistp256,ecdsa-sha2-nistp384`
182185

183186
## Logging for remote connections
184187

docs/preprocessor/message.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ The following code fragment uses the **`message`** pragma to display messages du
4242
#define STRING2(x) #x
4343
#define STRING(x) STRING2(x)
4444

45-
#pragma message (__FILE__ "[" STRING(__LINE__) "]: test")
45+
#pragma message (__FILE__ "(" STRING(__LINE__) "): test")
4646

4747
#pragma message("")
4848
```

0 commit comments

Comments
 (0)