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

Expand Down Expand Up @@ -76,6 +75,7 @@ This article contains a categorical list of compiler options. For an alphabetica
| [`/GZ`](gz-enable-stack-frame-run-time-error-checking.md) | Deprecated. Enables fast checks. (Same as [`/RTC1`](rtc-run-time-error-checks.md)) |
| [`/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). |
| [`/hotpatch`](hotpatch-create-hotpatchable-image.md) | Creates a hotpatchable image. |
| [`/jumptablerdata`](jump-table-rdata.md) | Put switch case statement jump tables in the `.rdata` section. |
| [`/Qfast_transcendentals`](qfast-transcendentals-force-fast-transcendentals.md) | Generates fast transcendentals. |
| [`/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) |
| [`/Qimprecise_fwaits`](qimprecise-fwaits-remove-fwaits-inside-try-blocks.md) | Removes `fwait` commands inside **`try`** blocks. |
Expand Down Expand Up @@ -200,7 +200,7 @@ This article contains a categorical list of compiler options. For an alphabetica
| [`/Zc:throwingNew[-]`](zc-throwingnew-assume-operator-new-throws.md) | Assume **`operator new`** throws on failure (off by default). |
| [`/Zc:tlsGuards[-]`](zc-tlsguards.md) | Generate runtime checks for TLS variable initialization (on by default). |
| [`/Zc:trigraphs`](zc-trigraphs-trigraphs-substitution.md) | Enable trigraphs (obsolete, off by default). |
| [`/Zc:twoPhase[-]`](zc-twophase.md) | Use non-conforming template parsing behavior (conforming by default). |
| [`/Zc:twoPhase[-]`](zc-twophase.md) | Use nonconforming template parsing behavior (conforming by default). |
| [`/Zc:wchar_t[-]`](zc-wchar-t-wchar-t-is-native-type.md) | **`wchar_t`** is a native type, not a typedef (on by default). |
| [`/Zc:zeroSizeArrayNew[-]`](zc-zerosizearraynew.md) | Call member `new`/`delete` for 0-size arrays of objects (on by default). |
| [`/Ze`](za-ze-disable-language-extensions.md) | Deprecated. Enables C89 language extensions. |
Expand Down Expand Up @@ -238,7 +238,7 @@ This article contains a categorical list of compiler options. For an alphabetica
| [`/bigobj`](bigobj-increase-number-of-sections-in-dot-obj-file.md) | Increases the number of addressable sections in an .obj file. |
| [`/c`](c-compile-without-linking.md) | Compiles without linking. |
| [`/cgthreads`](cgthreads-code-generation-threads.md) | Specifies number of *cl.exe* threads to use for optimization and code generation. |
| [`/errorReport`](errorreport-report-internal-compiler-errors.md) | Deprecated. Error reporting is controlled by [Windows Error Reporting (WER)](/windows/win32/wer/windows-error-reporting) settings. |
| [`/errorReport`](errorreport-report-internal-compiler-errors.md) | Deprecated. [Windows Error Reporting (WER)](/windows/win32/wer/windows-error-reporting) settings control error reporting. |
| [`/execution-charset`](execution-charset-set-execution-character-set.md) | Set execution character set. |
| `/fastfail` | Enable fast-fail mode. |
| [`/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. |
Expand All @@ -247,7 +247,7 @@ This article contains a categorical list of compiler options. For an alphabetica
| [`/HELP`](help-compiler-command-line-help.md) | Lists the compiler options. |
| [`/J`](j-default-char-type-is-unsigned.md) | Changes the default **`char`** type. |
| [`/JMC`](jmc.md) | Supports native C++ Just My Code debugging. |
| [`/kernel`](kernel-create-kernel-mode-binary.md) | The compiler and linker will create a binary that can be executed in the Windows kernel. |
| [`/kernel`](kernel-create-kernel-mode-binary.md) | The compiler and linker create a binary that can be executed in the Windows kernel. |
| [`/MP`](mp-build-with-multiple-processes.md) | Builds multiple source files concurrently. |
| [`/nologo`](nologo-suppress-startup-banner-c-cpp.md) | Suppresses display of sign-on banner. |
| `/presetPadding` | Zero initialize padding for stack based class types. |
Expand Down
40 changes: 40 additions & 0 deletions docs/build/reference/jump-table-rdata.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
description: "Learn more about: /jumptablerdata (Place switch case jump tables in .rdata)"
title: "/jumptablerdata (put switch case jump tables in `.rdata`)"
ms.date: 06/02/2023
f1_keywords: ["/jumptable"]
helpviewer_keywords: ["-jumptablerdata compiler option [C++]", "/jumptablerdata compiler option [C++]"]
---
# /jumptablerdata (put switch case jump tables in `.rdata`)

Puts the generated switch case jump tables in the `.rdata` section instead of alongside code in the `.text` section.

## Syntax

```cpp
/jumptablerdata
```

## Remarks

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.

> [!IMPORTANT]
> This flag only applies to x64 code. This flag was introduced in Visual Studio 17.7.

### To set this compiler option in the Visual Studio development environment

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).

1. Select the **Configuration Properties** > **C/C++** > **Command Line** property page.

1. Modify the **Additional Options** property to include `/jumptablerdata` and then choose **OK**.

### To set this compiler option programmatically

- See <xref:Microsoft.VisualStudio.VCProjectEngine.VCCLCompilerTool.AdditionalOptions%2A>.

## See also

[MSVC Compiler Options](compiler-options.md)\
[MSVC Compiler Command-Line Syntax](compiler-command-line-syntax.md)
2 changes: 2 additions & 0 deletions docs/build/toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -628,6 +628,8 @@ items:
href: ../build/reference/j-default-char-type-is-unsigned.md
- name: /JMC (Just My Code debugging)
href: ../build/reference/jmc.md
- name: /jumptablerdata (put switch case jump tables in .rdata)
href: ../build/reference/jump-table-rdata.md
- name: /kernel (Create kernel mode binary)
href: ../build/reference/kernel-create-kernel-mode-binary.md
- name: /link (Pass options to linker)
Expand Down
11 changes: 7 additions & 4 deletions docs/c-runtime-library/iob.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
---
description: "Learn more about: _iob"
title: "_iob"
ms.date: "11/04/2016"
ms.date: 07/10/2023
api_name: ["_iob"]
api_location: ["msvcrt.dll"]
api_type: ["DLLExport"]
topic_type: ["apiref"]
f1_keywords: ["_iob", "_IOB_ENTRIES", "STDIO/_IOB_ENTRIES"]
helpviewer_keywords: ["_iob global variable", "iob global variable"]
ms.assetid: 008ed376-8078-4bbd-bc6c-0677c63d0ff1
---
# `_iob`

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

## Remarks

`_IOB_ENTRIES` is defined as 3 in `stdio.h`.
Starting with Visual Studio 2015, `_IOB_ENTRIES` is defined as 3 with the introduction of the Universal CRT.
It was previously defined as 20.

Defined in `stdio.h`.

## See also

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