From 55a4444bc5078da4c9e19372984f434b4412af8e Mon Sep 17 00:00:00 2001 From: Rageking8 <106309953+Rageking8@users.noreply.github.com> Date: Wed, 9 Jul 2025 18:56:11 +0800 Subject: [PATCH 1/3] Add properties and options in "C/C++ Property Pages" topic --- docs/build/reference/c-cpp-prop-page.md | 48 ++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/docs/build/reference/c-cpp-prop-page.md b/docs/build/reference/c-cpp-prop-page.md index 4f92e38d17..39752e2701 100644 --- a/docs/build/reference/c-cpp-prop-page.md +++ b/docs/build/reference/c-cpp-prop-page.md @@ -56,6 +56,10 @@ Specifies the type of debugging information generated by the compiler. This pro Adds supporting code for enabling [Just My Code](/visualstudio/debugger/just-my-code) debugging in this compilation unit. Sets [`/JMC`](jmc.md). +### Support C++ Dynamic Debugging + +(Preview) Sets compiler flag [`/dynamicdeopt`](dynamic-deopt.md) to turn on [C++ Dynamic Debugging](/visualstudio/debugger/cpp-dynamic-debugging). Place deoptimized breakpoints and step in anywhere with on-demand function deoptimization. Use this mode for debugging optimized code. + ### Common Language RunTime Support Use the .NET runtime service. This switch is incompatible with some other switches; see the documentation on the [`/clr`](clr-common-language-runtime-compilation.md) family of switches for details. @@ -118,6 +122,10 @@ Enable multi-processor compilation. Sets the [`/MP`](mp-build-with-multiple-proc Compiles and links the program with AddressSanitizer instrumentation. This property currently supports x86 and x64 target builds. Sets the [`/fsanitize`](fsanitize.md) compiler option. +### Enable Fuzzer Support (Experimental) + +Compiles programs with the Fuzzer. Enable AddressSanitizer for best results. Currently available for x86 and x64 builds. Sets [`/fsanitize=fuzzer`](fsanitize.md). + ## C/C++ Optimization Properties ### Optimization @@ -199,6 +207,10 @@ Preprocess without #line directives. Suppresses comment strip from source code; requires setting at least one of the **Preprocessing** options. Sets [`/C`](c-preserve-comments-during-preprocessing.md). +### Use Standard Conforming Preprocessor + +Use a standard conforming preprocessor ([`/Zc:preprocessor`](zc-preprocessor.md)). Currently implied by [`/std:c11`](std-specify-language-standard-version.md) and later versions. To use legacy preprocessor set this property to 'No'. + ## C/C++ Code Generation Properties ### Enable String Pooling @@ -298,6 +310,10 @@ Enable use of instructions found on processors that support enhanced instruction - **No Enhanced Instructions** - No Enhanced Instructions. Sets **`/arch:IA32`** - **Not Set** - Not Set. +### Enable Vector Length + +Enable choosing vector length for [`/arch:AVX512`](arch-x86.md) and [`/arch:AVX10.x`](arch-x86.md) flags. Allowed values are 256 and 512 bits (X86/X64). + ### Floating Point Model Sets the floating point model. Sets [`/fp:precise`, `/fp:strict`, `/fp:fast`](fp-specify-floating-point-behavior.md). @@ -325,6 +341,18 @@ Spectre mitigations for CVE 2017-5753. Sets [`/Qspectre`](qspectre.md). - **Enabled** - Enable Spectre mitigation feature for CVE 2017-5753 - **Disabled** - Not Set. +### Enable Intel JCC Erratum Mitigation + +Software mitigation for the performance impact caused by the Intel JCC erratum microcode update. Sets [`/QIntel-jcc-erratum`](qintel-jcc-erratum.md). + +### Enable EH Continuation Metadata + +Generates a sorted list of all the valid exception handling continuation targets for a binary, used during runtime for RIP validation. Currently available for x64 builds. Sets [`/guard:ehcont`](guard-enable-eh-continuation-metadata.md). + +### Enable Signed Returns + +Enables signed returns which help detect and prevent attempts to dispatch to illegal blocks from function returns. Currently available for ARM64 builds. Sets `/guard:signret`. + ## C/C++ Language Properties ### Disable Language Extensions @@ -365,7 +393,8 @@ Determines the C++ language standard that the compiler enables. The default valu - **ISO C++14 Standard (/std:c++14)** - **ISO C++17 Standard (/std:c++17)** - **ISO C++20 Standard (/std:c++20)** -- **Preview - Features from the Latest C++ Working Draft (/std:c++latest)** +- **Preview - ISO C++23 Standard (/std:c++23preview)** +- **Preview - Features from the Latest C++ Working Draft (/std:c++latest)** ### C Language Standard @@ -376,6 +405,7 @@ Determines the C language standard that the compiler enables. The default value - **Default (Legacy MSVC)** - **ISO C11 Standard (/std:c11)** - **ISO C17 (2018) Standard (/std:c17)** +- **Preview - Features from the Latest C Working Draft (/std:clatest)** ### Conformance mode @@ -435,6 +465,14 @@ Causes the output file to be created in UTF-8 format. Specifies relative path or name for ASM listing file; can be file or directory name. Sets [`/Fa`](fa-fa-listing-file.md). +### Module Output File Name + +Module or header unit output (BMI) file location; can be file or directory name. Sets [`/ifcOutput[name]`](ifc-output.md). + +### Module Dependencies File Name + +Specifies the path and/or name of the generated module dependencies file. Sets [`/scanDependencies[path]`](scandependencies.md). + ### Object File Name Specifies a name to override the default object file name; can be file or directory name. Sets [`/Fo`](fo-object-file-name.md). @@ -451,6 +489,14 @@ Specifies that the compiler should generate XML documentation comment files (.XD Specifies the name of the generated XML documentation files; can be file or directory name. Sets [`/doc:`\](doc-process-documentation-comments-c-cpp.md). +### Generate Source Dependencies File + +Generates a json file with the list of all files the compiler used for the compilation of the source. Sets [`/sourceDependencies`](sourcedependencies.md). + +### Source Dependencies File Name + +Specifies the path and/or name of the generated source dependencies file. Sets [`/sourceDependencies[path]`](sourcedependencies.md). + ## C/C++ Browse Information Properties ### Enable Browse Information From 134a4915a3c52dceb0ab95b16193844d39ffe53d Mon Sep 17 00:00:00 2001 From: Rageking8 <106309953+Rageking8@users.noreply.github.com> Date: Wed, 9 Jul 2025 18:59:46 +0800 Subject: [PATCH 2/3] Standardize level 2 headings in "C/C++ Property Pages" topic --- docs/build/reference/c-cpp-prop-page.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/build/reference/c-cpp-prop-page.md b/docs/build/reference/c-cpp-prop-page.md index 39752e2701..fb40bf2a4a 100644 --- a/docs/build/reference/c-cpp-prop-page.md +++ b/docs/build/reference/c-cpp-prop-page.md @@ -507,7 +507,7 @@ Specifies level of browse information in *`.bsc`* file. Sets [`/FR`](fr-fr-creat Specifies optional name for browser information file. Sets [`/FR`\](fr-fr-create-dot-sbr-file.md). -## External Includes +## C/C++ External Includes Properties ### Treat Files Included with Angle Brackets as External From 8e875c3e9839fc0cbb9e5c840cea02ee38cb9c7c Mon Sep 17 00:00:00 2001 From: Rageking8 <106309953+Rageking8@users.noreply.github.com> Date: Wed, 9 Jul 2025 19:08:03 +0800 Subject: [PATCH 3/3] Add "external-includes" anchor in "C/C++ Property Pages" topic --- docs/build/reference/c-cpp-prop-page.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/build/reference/c-cpp-prop-page.md b/docs/build/reference/c-cpp-prop-page.md index fb40bf2a4a..aaec4a7fab 100644 --- a/docs/build/reference/c-cpp-prop-page.md +++ b/docs/build/reference/c-cpp-prop-page.md @@ -507,7 +507,7 @@ Specifies level of browse information in *`.bsc`* file. Sets [`/FR`](fr-fr-creat Specifies optional name for browser information file. Sets [`/FR`\](fr-fr-create-dot-sbr-file.md). -## C/C++ External Includes Properties +## C/C++ External Includes Properties ### Treat Files Included with Angle Brackets as External