Skip to content

Commit 2d7f3da

Browse files
Learn Build Service GitHub AppLearn Build Service GitHub App
authored andcommitted
Merging changes synced from https://github.com/MicrosoftDocs/cpp-docs-pr (branch live)
2 parents 3e15592 + 210c239 commit 2d7f3da

File tree

2 files changed

+190
-101
lines changed

2 files changed

+190
-101
lines changed
Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,36 @@
11
---
2-
description: "Learn more about: /hotpatch (Create Hotpatchable Image)"
3-
title: "/hotpatch (Create Hotpatchable Image)"
4-
ms.date: "12/7/2021"
2+
description: "Learn more about: /hotpatch (Create hotpatchable image)"
3+
title: "/hotpatch (Create hotpatchable image)"
4+
ms.date: "9/4/2025"
55
f1_keywords: ["/hotpatch", "VC.Project.VCCLCompilerTool.CreateHotpatchableImage"]
6-
helpviewer_keywords: ["hot patching", "-hotpatch compiler option [C++]", "/hotpatch compiler option [C++]", "hotpatching"]
7-
ms.assetid: aad539b6-c053-4c78-8682-853d98327798
6+
helpviewer_keywords: ["hot patching", "hotpatching", "-hotpatch compiler option [C++]", "/hotpatch compiler option [C++]"]
87
---
9-
# /hotpatch (Create Hotpatchable Image)
8+
# /hotpatch (Create hotpatchable image)
109

11-
Prepares an image for hot patching.
10+
Prepares an image for hotpatching.
1211

1312
## Syntax
1413

1514
```
1615
/hotpatch
1716
```
1817

18+
> [!NOTE]
19+
> This option is only available for x86
20+
1921
## Remarks
2022

21-
When **/hotpatch** is used in a compilation, the compiler ensures that the first instruction of each function is at least two bytes, and no jump within the function goes to the first instruction. These conditions are required for hot patching.
23+
When `/hotpatch` is used during compilation, the compiler ensures that the first instruction of each function is at least 2 bytes long and that no jump within the function goes to the first instruction. These conditions are required for hotpatching.
2224

23-
To complete the preparation for making an image hotpatchable, after you use **/hotpatch** to compile, you must use [/FUNCTIONPADMIN (Create Hotpatchable Image)](functionpadmin-create-hotpatchable-image.md) to link. When you compile and link an image by using one invocation of cl.exe, **/hotpatch** implies **/functionpadmin**.
25+
To complete the preparation for making an image hotpatchable, after you compile with `/hotpatch`, use [`/functionpadmin`](functionpadmin-create-hotpatchable-image.md) to link. When you compile and link an image using one invocation of `cl.exe`, `/hotpatch` implies `/functionpadmin`.
2426

25-
Because instructions are always two bytes or larger on the ARM architecture, and because x64 compilation is always treated as if **/hotpatch** has been specified, you don't have to specify **/hotpatch** when you compile for these targets; however, you must still link by using **/functionpadmin** to create hotpatchable images for them. The **/hotpatch** compiler option only affects x86 compilation.
27+
> [!TIP]
28+
> Arm64 and x64 architectures are always treated as hotpatchable. But you must still link by using `/functionpadmin` to create hotpatchable images for them.
2629
2730
### To set this compiler option in the Visual Studio development environment
2831

2932
1. Open the project's **Property Pages** dialog box. For details, see [Set C++ compiler and build properties in Visual Studio](../working-with-project-properties.md).
30-
3133
1. Select the **Configuration Properties** > **C/C++** > **Command Line** property page.
32-
3334
1. Add the compiler option to the **Additional Options** box.
3435

3536
### To set this compiler option programmatically
@@ -38,5 +39,5 @@ Because instructions are always two bytes or larger on the ARM architecture, and
3839

3940
## See also
4041

41-
[MSVC Compiler Options](compiler-options.md)<br/>
42+
[MSVC Compiler Options](compiler-options.md)\
4243
[MSVC Compiler Command-Line Syntax](compiler-command-line-syntax.md)

docs/docfx.json

Lines changed: 176 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -160,100 +160,188 @@
160160
"windows/**.md": "windows-development"
161161
},
162162
"ms.update-cycle": {
163-
"assembler/**/**.{md,yml}": "3650-days",
164-
"attributes/**/**.{md,yml}": "3650-days",
165-
"atl/**/**.{md,yml}": "3650-days",
166-
"atl-mfc-shared/**/**.{md,yml}": "3650-days",
167-
"build/**/**.{md,yml}": "1825-days",
168-
"c-language/**/**.{md,yml}": "3650-days",
169-
"c-runtime-library/**/**.{md,yml}": "3650-days",
163+
"assembler/**.md": "3650-days",
164+
"assembler/**.yml": "3650-days",
165+
"attributes/**.md": "3650-days",
166+
"attributes/**.yml": "3650-days",
167+
"atl/**.md": "3650-days",
168+
"atl/**.yml": "3650-days",
169+
"atl-mfc-shared/**.md": "3650-days",
170+
"atl-mfc-shared/**.yml": "3650-days",
171+
"build/**.md": "1825-days",
172+
"build/**.yml": "1825-days",
173+
"c-language/**.md": "3650-days",
174+
"c-language/**.yml": "3650-days",
175+
"c-runtime-library/**.md": "3650-days",
176+
"c-runtime-library/**.yml": "3650-days",
170177
"cpp/**.md": "1095-days",
171-
"cppcx/**/**.{md,yml}": "3650-days",
172-
"cross-platform/**/**.{md,yml}": "1825-days",
173-
"data/**/**.{md,yml}": "3650-days",
174-
"dotnet/**/**.{md,yml}": "3650-days",
175-
"embedded/**/**.{md,yml}": "3650-days",
176-
"error-messages/**/**.{md,yml}": "3650-days",
177-
"extensions/**/**.{md,yml}": "3650-days",
178-
"intrinsics/**/**.{md,yml}": "3650-days",
179-
"mfc/**/**.{md,yml}": "3650-days",
180-
"parallel/**/**.{md,yml}": "3650-days",
181-
"porting/**/**.{md,yml}": "1095-days",
182-
"preprocessor/**/**.{md,yml}": "3650-days",
183-
"safeint/**/**.{md,yml}": "3650-days",
184-
"standard-library/**/**.{md,yml}": "3650-days",
185-
"text/**/**.{md,yml}": "3650-days",
186-
"windows/**/**.{md,yml}": "1825-days"
178+
"cpp/**.yml": "1095-days",
179+
"cppcx/**.md": "3650-days",
180+
"cppcx/**.yml": "3650-days",
181+
"cross-platform/**.md": "1825-days",
182+
"cross-platform/**.yml": "1825-days",
183+
"data/**.md": "3650-days",
184+
"data/**.yml": "3650-days",
185+
"dotnet/**.md": "3650-days",
186+
"dotnet/**.yml": "3650-days",
187+
"embedded/**.md": "3650-days",
188+
"embedded/**.yml": "3650-days",
189+
"error-messages/**.md": "3650-days",
190+
"error-messages/**.yml": "3650-days",
191+
"extensions/**.md": "3650-days",
192+
"extensions/**.yml": "3650-days",
193+
"intrinsics/**.md": "3650-days",
194+
"intrinsics/**.yml": "3650-days",
195+
"mfc/**.md": "3650-days",
196+
"mfc/**.yml": "3650-days",
197+
"parallel/**.md": "3650-days",
198+
"parallel/**.yml": "3650-days",
199+
"porting/**.md": "1095-days",
200+
"porting/**.yml": "1095-days",
201+
"preprocessor/**.md": "3650-days",
202+
"preprocessor/**.yml": "3650-days",
203+
"safeint/**.md": "3650-days",
204+
"safeint/**.yml": "3650-days",
205+
"standard-library/**.md": "3650-days",
206+
"standard-library/**.yml": "3650-days",
207+
"text/**.md": "3650-days",
208+
"text/**.yml": "3650-days",
209+
"windows/**.md": "1825-days",
210+
"windows/**.yml": "1825-days"
187211
},
188212
"author": {
189-
"index.md": "tylermsft",
190-
"assembler/**/**.{md,yml}": "tylermsft",
191-
"attributes/**/**.{md,yml}": "tylermsft",
192-
"atl/**/**.{md,yml}": "tylermsft",
193-
"atl-mfc-shared/**/**.{md,yml}": "tylermsft",
194-
"build/**/**.{md,yml}": "tylermsft",
195-
"build-insights/**/**.{md,yml}": "tylermsft",
196-
"c-language/**/**.{md,yml}": "tylermsft",
197-
"c-runtime-library/**/**.{md,yml}": "tylermsft",
198-
"cloud/**/**.{md,yml}": "tylermsft",
199-
"code-quality/**/**.{md,yml}": "tylermsft",
200-
"cpp/**/**.{md,yml}": "tylermsft",
201-
"cppcx/**/**.{md,yml}": "tylermsft",
202-
"cross-platform/**/**.{md,yml}": "tylermsft",
203-
"data/**/**.{md,yml}": "tylermsft",
204-
"dotnet/**/**.{md,yml}": "tylermsft",
205-
"error-messages/**/**.{md,yml}": "tylermsft",
206-
"extensions/**/**.{md,yml}": "tylermsft",
207-
"get-started/**/**.{md,yml}": "tylermsft",
208-
"ide/**/**.{md,yml}": "tylermsft",
209-
"intrinsics/**/**.{md,yml}": "tylermsft",
210-
"linux/**/**.{md,yml}": "tylermsft",
211-
"mfc/**/**.{md,yml}": "tylermsft",
212-
"overview/**/**.{md,yml}": "tylermsft",
213-
"parallel/**/**.{md,yml}": "tylermsft",
214-
"porting/**/**.{md,yml}": "tylermsft",
215-
"preprocessor/**/**.{md,yml}": "tylermsft",
216-
"safeint/**/**.{md,yml}": "tylermsft",
217-
"sanitizers/**/**.{md,yml}": "tylermsft",
218-
"security/**/**.{md,yml}": "tylermsft",
219-
"standard-library/**/**.{md,yml}": "tylermsft",
220-
"text/**/**.{md,yml}": "tylermsft",
221-
"windows/**/**.{md,yml}": "tylermsft"
213+
"index.md": "TylerMSFT",
214+
"assembler/**.md": "TylerMSFT",
215+
"assembler/**.yml": "TylerMSFT",
216+
"attributes/**.md": "TylerMSFT",
217+
"attributes/**.yml": "TylerMSFT",
218+
"atl/**.md": "TylerMSFT",
219+
"atl/**.yml": "TylerMSFT",
220+
"atl-mfc-shared/**.md": "TylerMSFT",
221+
"atl-mfc-shared/**.yml": "TylerMSFT",
222+
"build/**.md": "TylerMSFT",
223+
"build/**.yml": "TylerMSFT",
224+
"build-insights/**.md": "TylerMSFT",
225+
"build-insights/**.yml": "TylerMSFT",
226+
"c-language/**.md": "TylerMSFT",
227+
"c-language/**.yml": "TylerMSFT",
228+
"c-runtime-library/**.md": "TylerMSFT",
229+
"c-runtime-library/**.yml": "TylerMSFT",
230+
"cloud/**.md": "TylerMSFT",
231+
"cloud/**.yml": "TylerMSFT",
232+
"code-quality/**.md": "TylerMSFT",
233+
"code-quality/**.yml": "TylerMSFT",
234+
"cpp/**.md": "TylerMSFT",
235+
"cpp/**.yml": "TylerMSFT",
236+
"cppcx/**.md": "TylerMSFT",
237+
"cppcx/**.yml": "TylerMSFT",
238+
"cross-platform/**.md": "TylerMSFT",
239+
"cross-platform/**.yml": "TylerMSFT",
240+
"data/**.md": "TylerMSFT",
241+
"data/**.yml": "TylerMSFT",
242+
"dotnet/**.md": "TylerMSFT",
243+
"dotnet/**.yml": "TylerMSFT",
244+
"error-messages/**.md": "TylerMSFT",
245+
"error-messages/**.yml": "TylerMSFT",
246+
"extensions/**.md": "TylerMSFT",
247+
"extensions/**.yml": "TylerMSFT",
248+
"get-started/**.md": "TylerMSFT",
249+
"get-started/**.yml": "TylerMSFT",
250+
"ide/**.md": "TylerMSFT",
251+
"ide/**.yml": "TylerMSFT",
252+
"intrinsics/**.md": "TylerMSFT",
253+
"intrinsics/**.yml": "TylerMSFT",
254+
"linux/**.md": "TylerMSFT",
255+
"linux/**.yml": "TylerMSFT",
256+
"mfc/**.md": "TylerMSFT",
257+
"mfc/**.yml": "TylerMSFT",
258+
"overview/**.md": "TylerMSFT",
259+
"overview/**.yml": "TylerMSFT",
260+
"parallel/**.md": "TylerMSFT",
261+
"parallel/**.yml": "TylerMSFT",
262+
"porting/**.md": "TylerMSFT",
263+
"porting/**.yml": "TylerMSFT",
264+
"preprocessor/**.md": "TylerMSFT",
265+
"preprocessor/**.yml": "TylerMSFT",
266+
"safeint/**.md": "TylerMSFT",
267+
"safeint/**.yml": "TylerMSFT",
268+
"sanitizers/**.md": "TylerMSFT",
269+
"sanitizers/**.yml": "TylerMSFT",
270+
"security/**.md": "TylerMSFT",
271+
"security/**.yml": "TylerMSFT",
272+
"standard-library/**.md": "TylerMSFT",
273+
"standard-library/**.yml": "TylerMSFT",
274+
"text/**.md": "TylerMSFT",
275+
"text/**.yml": "TylerMSFT",
276+
"windows/**.md": "TylerMSFT",
277+
"windows/**.yml": "TylerMSFT"
222278
},
223279
"ms.author": {
224280
"index.md": "twhitney",
225-
"assembler/**/**.{md,yml}": "twhitney",
226-
"atl/**/**.{md,yml}": "twhitney",
227-
"atl-mfc-shared/**/**.{md,yml}": "twhitney",
228-
"attributes/**/**.{md,yml}": "twhitney",
229-
"build/**/**.{md,yml}": "twhitney",
230-
"build-insights/**/**.{md,yml}": "twhitney",
231-
"c-language/**/**.{md,yml}": "twhitney",
232-
"c-runtime-library/**/**.{md,yml}": "twhitney",
233-
"cloud/**/**.{md,yml}": "twhitney",
234-
"code-quality/**/**.{md,yml}": "twhitney",
235-
"cpp/**/**.{md,yml}": "twhitney",
236-
"cppcx/**/**.{md,yml}": "twhitney",
237-
"cross-platform/**/**.{md,yml}": "twhitney",
238-
"data/**/**.{md,yml}": "twhitney",
239-
"dotnet/**/**.{md,yml}": "twhitney",
240-
"error-messages/**/**.{md,yml}": "twhitney",
241-
"extensions/**/**.{md,yml}": "twhitney",
242-
"get-started/**/**.{md,yml}": "twhitney",
243-
"ide/**/**.{md,yml}": "twhitney",
244-
"intrinsics/**/**.{md,yml}": "twhitney",
245-
"linux/**/**.{md,yml}": "twhitney",
246-
"mfc/**/**.{md,yml}": "twhitney",
247-
"overview/**/**.{md,yml}": "twhitney",
248-
"parallel/**/**.{md,yml}": "twhitney",
249-
"porting/**/**.{md,yml}": "twhitney",
250-
"preprocessor/**/**.{md,yml}": "twhitney",
251-
"safeint/**/**.{md,yml}": "twhitney",
252-
"sanitizers/**/**.{md,yml}": "twhitney",
253-
"security/**/**.{md,yml}": "twhitney",
254-
"standard-library/**/**.{md,yml}": "twhitney",
255-
"text/**/**.{md,yml}": "twhitney",
256-
"windows/**/**.{md,yml}": "twhitney"
281+
"assembler/**.md": "twhitney",
282+
"assembler/**.yml": "twhitney",
283+
"atl/**.md": "twhitney",
284+
"atl/**.yml": "twhitney",
285+
"atl-mfc-shared/**.md": "twhitney",
286+
"atl-mfc-shared/**.yml": "twhitney",
287+
"attributes/**.md": "twhitney",
288+
"attributes/**.yml": "twhitney",
289+
"build/**.md": "twhitney",
290+
"build/**.yml": "twhitney",
291+
"build-insights/**.md": "twhitney",
292+
"build-insights/**.yml": "twhitney",
293+
"c-language/**.md": "twhitney",
294+
"c-language/**.yml": "twhitney",
295+
"c-runtime-library/**.md": "twhitney",
296+
"c-runtime-library/**.yml": "twhitney",
297+
"cloud/**.md": "twhitney",
298+
"cloud/**.yml": "twhitney",
299+
"code-quality/**.md": "twhitney",
300+
"code-quality/**.yml": "twhitney",
301+
"cpp/**.md": "twhitney",
302+
"cpp/**.yml": "twhitney",
303+
"cppcx/**.md": "twhitney",
304+
"cppcx/**.yml": "twhitney",
305+
"cross-platform/**.md": "twhitney",
306+
"cross-platform/**.yml": "twhitney",
307+
"data/**.md": "twhitney",
308+
"data/**.yml": "twhitney",
309+
"dotnet/**.md": "twhitney",
310+
"dotnet/**.yml": "twhitney",
311+
"error-messages/**.md": "twhitney",
312+
"error-messages/**.yml": "twhitney",
313+
"extensions/**.md": "twhitney",
314+
"extensions/**.yml": "twhitney",
315+
"get-started/**.md": "twhitney",
316+
"get-started/**.yml": "twhitney",
317+
"ide/**.md": "twhitney",
318+
"ide/**.yml": "twhitney",
319+
"intrinsics/**.md": "twhitney",
320+
"intrinsics/**.yml": "twhitney",
321+
"linux/**.md": "twhitney",
322+
"linux/**.yml": "twhitney",
323+
"mfc/**.md": "twhitney",
324+
"mfc/**.yml": "twhitney",
325+
"overview/**.md": "twhitney",
326+
"overview/**.yml": "twhitney",
327+
"parallel/**.md": "twhitney",
328+
"parallel/**.yml": "twhitney",
329+
"porting/**.md": "twhitney",
330+
"porting/**.yml": "twhitney",
331+
"preprocessor/**.md": "twhitney",
332+
"preprocessor/**.yml": "twhitney",
333+
"safeint/**.md": "twhitney",
334+
"safeint/**.yml": "twhitney",
335+
"sanitizers/**.md": "twhitney",
336+
"sanitizers/**.yml": "twhitney",
337+
"security/**.md": "twhitney",
338+
"security/**.yml": "twhitney",
339+
"standard-library/**.md": "twhitney",
340+
"standard-library/**.yml": "twhitney",
341+
"text/**.md": "twhitney",
342+
"text/**.yml": "twhitney",
343+
"windows/**.md": "twhitney",
344+
"windows/**.yml": "twhitney"
257345
}
258346
},
259347
"template": [],

0 commit comments

Comments
 (0)