Skip to content

Commit 8347ae7

Browse files
Merge pull request #4628 from MicrosoftDocs/main638246931874175762sync_temp
For protected CLA branch, push strategy should use PR and merge to target branch method to work around git push error
2 parents 4e67def + 062d795 commit 8347ae7

File tree

5 files changed

+60
-14
lines changed

5 files changed

+60
-14
lines changed

docs/build/reference/compiler-options-listed-alphabetically.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "Compiler options listed alphabetically"
33
description: "Reference listing in alphabetical order of the Microsoft C/C++ compiler command-line options."
4-
ms.date: 11/07/2022
4+
ms.date: 06/02/2023
55
helpviewer_keywords: ["compiler options, C++"]
66
---
77
# Compiler options listed alphabetically
@@ -47,7 +47,7 @@ This table contains an alphabetical list of compiler options. For a list of comp
4747
| [`/EHr`](eh-exception-handling-model.md) | Always generate `noexcept` runtime termination checks. |
4848
| [`/EHs`](eh-exception-handling-model.md) | Enable C++ exception handling (no SEH exceptions). |
4949
| [`/EP`](ep-preprocess-to-stdout-without-hash-line-directives.md) | Copies preprocessor output to standard output. |
50-
| [`/errorReport`](errorreport-report-internal-compiler-errors.md) | Deprecated. Error reporting is controlled by [Windows Error Reporting (WER)](/windows/win32/wer/windows-error-reporting) settings. |
50+
| [`/errorReport`](errorreport-report-internal-compiler-errors.md) | Deprecated. [Windows Error Reporting (WER)](/windows/win32/wer/windows-error-reporting) settings control error reporting. |
5151
| [`/execution-charset`](execution-charset-set-execution-character-set.md) | Set execution character set. |
5252
| [`/experimental:module`](experimental-module.md) | Enables experimental module support. |
5353
| [`/exportHeader`](module-exportheader.md) | Create the header units files (*`.ifc`*) specified by the input arguments. |
@@ -116,8 +116,9 @@ This table contains an alphabetical list of compiler options. For a list of comp
116116
| [`/interface`](interface.md) | Treat the input file as a module interface unit. |
117117
| [`/internalPartition`](internal-partition.md) | Treat the input file as an internal partition unit. |
118118
| [`/J`](j-default-char-type-is-unsigned.md) | Changes the default **`char`** type. |
119+
| [`/jumptablerdata`](jump-table-rdata.md) | Put switch case statement jump tables in the `.rdata` section. |
119120
| [`/JMC`](jmc.md) | Supports native C++ Just My Code debugging. |
120-
| [`/kernel`](kernel-create-kernel-mode-binary.md) | The compiler and linker will create a binary that can be executed in the Windows kernel. |
121+
| [`/kernel`](kernel-create-kernel-mode-binary.md) | The compiler and linker create a binary that can be executed in the Windows kernel. |
121122
| [`/LD`](md-mt-ld-use-run-time-library.md) | Creates a dynamic-link library. |
122123
| [`/LDd`](md-mt-ld-use-run-time-library.md) | Creates a debug dynamic-link library. |
123124
| [`/link`](link-pass-options-to-linker.md) | Passes the specified option to LINK. |
@@ -239,9 +240,9 @@ This table contains an alphabetical list of compiler options. For a list of comp
239240
| [`/Zc:throwingNew[-]`](zc-throwingnew-assume-operator-new-throws.md) | Assume **`operator new`** throws on failure (off by default). |
240241
| [`/Zc:tlsGuards[-]`](zc-tlsguards.md) | Generate runtime checks for TLS variable initialization (on by default). |
241242
| [`/Zc:trigraphs`](zc-trigraphs-trigraphs-substitution.md) | Enable trigraphs (obsolete, off by default). |
242-
| [`/Zc:twoPhase[-]`](zc-twophase.md) | Use non-conforming template parsing behavior (conforming by default). |
243+
| [`/Zc:twoPhase[-]`](zc-twophase.md) | Use nonconforming template parsing behavior (conforming by default). |
243244
| [`/Zc:wchar_t[-]`](zc-wchar-t-wchar-t-is-native-type.md) | **`wchar_t`** is a native type, not a typedef (on by default). |
244-
| [`/Zc:zeroSizeArrayNew[-]`](zc-zerosizearraynew.md) | Call member `new`/`delete` for 0-size arrays of objects (on by default). |
245+
| [`/Zc:zeroSizeArrayNew[-]`](zc-zerosizearraynew.md) | Call member `new`/`delete` for zero-size arrays of objects (on by default). |
245246
| [`/Ze`](za-ze-disable-language-extensions.md) | Deprecated. Enables C89 language extensions. |
246247
| [`/Zf`](zf.md) | Improves PDB generation time in parallel builds. |
247248
| [`/ZH:[MD5|SHA1|SHA_256]`](zh.md) | Specifies MD5, SHA-1, or SHA-256 for checksums in debug info. |

docs/build/reference/compiler-options-listed-by-category.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
---
22
title: "Compiler Options Listed by Category"
33
description: "Reference listing by category of the Microsoft C/C++ compiler command-line options."
4-
ms.date: 11/07/2022
4+
ms.date: 06/02/2023
55
helpviewer_keywords: ["compiler options, C++"]
6-
ms.assetid: c4750dcf-dba0-4229-99b6-45cdecc11729
76
---
87
# Compiler options listed by category
98

@@ -76,6 +75,7 @@ This article contains a categorical list of compiler options. For an alphabetica
7675
| [`/GZ`](gz-enable-stack-frame-run-time-error-checking.md) | Deprecated. Enables fast checks. (Same as [`/RTC1`](rtc-run-time-error-checks.md)) |
7776
| [`/homeparams`](homeparams-copy-register-parameters-to-stack.md) | Forces parameters passed in registers to be written to their locations on the stack upon function entry. This compiler option is only for the x64 compilers (native and cross compile). |
7877
| [`/hotpatch`](hotpatch-create-hotpatchable-image.md) | Creates a hotpatchable image. |
78+
| [`/jumptablerdata`](jump-table-rdata.md) | Put switch case statement jump tables in the `.rdata` section. |
7979
| [`/Qfast_transcendentals`](qfast-transcendentals-force-fast-transcendentals.md) | Generates fast transcendentals. |
8080
| [`/QIfist`](qifist-suppress-ftol.md) | Deprecated. Suppresses the call of the helper function `_ftol` when a conversion from a floating-point type to an integral type is required. (x86 only) |
8181
| [`/Qimprecise_fwaits`](qimprecise-fwaits-remove-fwaits-inside-try-blocks.md) | Removes `fwait` commands inside **`try`** blocks. |
@@ -200,7 +200,7 @@ This article contains a categorical list of compiler options. For an alphabetica
200200
| [`/Zc:throwingNew[-]`](zc-throwingnew-assume-operator-new-throws.md) | Assume **`operator new`** throws on failure (off by default). |
201201
| [`/Zc:tlsGuards[-]`](zc-tlsguards.md) | Generate runtime checks for TLS variable initialization (on by default). |
202202
| [`/Zc:trigraphs`](zc-trigraphs-trigraphs-substitution.md) | Enable trigraphs (obsolete, off by default). |
203-
| [`/Zc:twoPhase[-]`](zc-twophase.md) | Use non-conforming template parsing behavior (conforming by default). |
203+
| [`/Zc:twoPhase[-]`](zc-twophase.md) | Use nonconforming template parsing behavior (conforming by default). |
204204
| [`/Zc:wchar_t[-]`](zc-wchar-t-wchar-t-is-native-type.md) | **`wchar_t`** is a native type, not a typedef (on by default). |
205205
| [`/Zc:zeroSizeArrayNew[-]`](zc-zerosizearraynew.md) | Call member `new`/`delete` for 0-size arrays of objects (on by default). |
206206
| [`/Ze`](za-ze-disable-language-extensions.md) | Deprecated. Enables C89 language extensions. |
@@ -238,7 +238,7 @@ This article contains a categorical list of compiler options. For an alphabetica
238238
| [`/bigobj`](bigobj-increase-number-of-sections-in-dot-obj-file.md) | Increases the number of addressable sections in an .obj file. |
239239
| [`/c`](c-compile-without-linking.md) | Compiles without linking. |
240240
| [`/cgthreads`](cgthreads-code-generation-threads.md) | Specifies number of *cl.exe* threads to use for optimization and code generation. |
241-
| [`/errorReport`](errorreport-report-internal-compiler-errors.md) | Deprecated. Error reporting is controlled by [Windows Error Reporting (WER)](/windows/win32/wer/windows-error-reporting) settings. |
241+
| [`/errorReport`](errorreport-report-internal-compiler-errors.md) | Deprecated. [Windows Error Reporting (WER)](/windows/win32/wer/windows-error-reporting) settings control error reporting. |
242242
| [`/execution-charset`](execution-charset-set-execution-character-set.md) | Set execution character set. |
243243
| `/fastfail` | Enable fast-fail mode. |
244244
| [`/FC`](fc-full-path-of-source-code-file-in-diagnostics.md) | Displays the full path of source code files passed to *cl.exe* in diagnostic text. |
@@ -247,7 +247,7 @@ This article contains a categorical list of compiler options. For an alphabetica
247247
| [`/HELP`](help-compiler-command-line-help.md) | Lists the compiler options. |
248248
| [`/J`](j-default-char-type-is-unsigned.md) | Changes the default **`char`** type. |
249249
| [`/JMC`](jmc.md) | Supports native C++ Just My Code debugging. |
250-
| [`/kernel`](kernel-create-kernel-mode-binary.md) | The compiler and linker will create a binary that can be executed in the Windows kernel. |
250+
| [`/kernel`](kernel-create-kernel-mode-binary.md) | The compiler and linker create a binary that can be executed in the Windows kernel. |
251251
| [`/MP`](mp-build-with-multiple-processes.md) | Builds multiple source files concurrently. |
252252
| [`/nologo`](nologo-suppress-startup-banner-c-cpp.md) | Suppresses display of sign-on banner. |
253253
| `/presetPadding` | Zero initialize padding for stack based class types. |
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
---
2+
description: "Learn more about: /jumptablerdata (Place switch case jump tables in .rdata)"
3+
title: "/jumptablerdata (put switch case jump tables in `.rdata`)"
4+
ms.date: 06/02/2023
5+
f1_keywords: ["/jumptable"]
6+
helpviewer_keywords: ["-jumptablerdata compiler option [C++]", "/jumptablerdata compiler option [C++]"]
7+
---
8+
# /jumptablerdata (put switch case jump tables in `.rdata`)
9+
10+
Puts the generated switch case jump tables in the `.rdata` section instead of alongside code in the `.text` section.
11+
12+
## Syntax
13+
14+
```cpp
15+
/jumptablerdata
16+
```
17+
18+
## Remarks
19+
20+
Putting jump tables generated for switch case statements in the `.rdata` section prevents the jump table from being loaded into both the instruction cache (iCache) and data cache (dCache), potentially increasing performance. The `.rdata` section is where const initialized data is stored.
21+
22+
> [!IMPORTANT]
23+
> This flag only applies to x64 code. This flag was introduced in Visual Studio 17.7.
24+
25+
### To set this compiler option in the Visual Studio development environment
26+
27+
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).
28+
29+
1. Select the **Configuration Properties** > **C/C++** > **Command Line** property page.
30+
31+
1. Modify the **Additional Options** property to include `/jumptablerdata` and then choose **OK**.
32+
33+
### To set this compiler option programmatically
34+
35+
- See <xref:Microsoft.VisualStudio.VCProjectEngine.VCCLCompilerTool.AdditionalOptions%2A>.
36+
37+
## See also
38+
39+
[MSVC Compiler Options](compiler-options.md)\
40+
[MSVC Compiler Command-Line Syntax](compiler-command-line-syntax.md)

docs/build/toc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -628,6 +628,8 @@ items:
628628
href: ../build/reference/j-default-char-type-is-unsigned.md
629629
- name: /JMC (Just My Code debugging)
630630
href: ../build/reference/jmc.md
631+
- name: /jumptablerdata (put switch case jump tables in .rdata)
632+
href: ../build/reference/jump-table-rdata.md
631633
- name: /kernel (Create kernel mode binary)
632634
href: ../build/reference/kernel-create-kernel-mode-binary.md
633635
- name: /link (Pass options to linker)

docs/c-runtime-library/iob.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
---
22
description: "Learn more about: _iob"
33
title: "_iob"
4-
ms.date: "11/04/2016"
4+
ms.date: 07/10/2023
55
api_name: ["_iob"]
66
api_location: ["msvcrt.dll"]
77
api_type: ["DLLExport"]
88
topic_type: ["apiref"]
99
f1_keywords: ["_iob", "_IOB_ENTRIES", "STDIO/_IOB_ENTRIES"]
1010
helpviewer_keywords: ["_iob global variable", "iob global variable"]
11-
ms.assetid: 008ed376-8078-4bbd-bc6c-0677c63d0ff1
1211
---
1312
# `_iob`
1413

@@ -22,8 +21,12 @@ FILE _iob[_IOB_ENTRIES];
2221

2322
## Remarks
2423

25-
`_IOB_ENTRIES` is defined as 3 in `stdio.h`.
24+
Starting with Visual Studio 2015, `_IOB_ENTRIES` is defined as 3 with the introduction of the Universal CRT.
25+
It was previously defined as 20.
26+
27+
Defined in `stdio.h`.
2628

2729
## See also
2830

29-
[Global variables](./global-variables.md)
31+
[Global variables](./global-variables.md)\
32+
[Introducing the Universal CRT](https://devblogs.microsoft.com/cppblog/introducing-the-universal-crt/)

0 commit comments

Comments
 (0)