You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -42,7 +42,7 @@ The **`/fpcvt`** options are new in Visual Studio 2019 version 16.8. If you spec
42
42
43
43
### Intrinsic functions for conversions
44
44
45
-
You can specify the behavior of a specific conversion independently of the **`/fpcvt`** option, which applies globally. The compiler provides intrinsic sentinel conversion functions for conversions compatible with **`/fpcvt:IA`**. For more information, see [Sentinel conversion functions](../../intrinsics/sentinel-conversion-functions.md). The compiler also provides saturation conversion functions compatible with conversions on ARM or ARM64 target architectures. For more information, see [Saturation conversion functions](../../intrinsics/saturation-conversion-functions.md).
45
+
You can specify the behavior of a specific conversion independently of the **`/fpcvt`** option, which applies globally. The compiler provides intrinsic sentinel conversion functions for conversions compatible with **`/fpcvt:IA`**. For more information, see [Sentinel conversion functions](../../intrinsics/sentinel-conversion-functions.md). The compiler also provides saturation conversion functions compatible with conversions on ARM or ARM64 target architectures. For more information, see [Saturation conversion functions](../../intrinsics/saturation-conversion-functions.md).
46
46
47
47
The compiler also supports intrinsic conversion functions that execute as quickly as possible for valid conversions. These functions may generate any value or throw an exception for an invalid conversion. The results depend on the target platform, compiler options, and context. They're useful for handling values that have already been range-checked, or values generated in a way that can't cause an invalid conversion. For more information, see [Fast conversion functions](../../intrinsics/fast-conversion-functions.md).
@@ -21,15 +21,15 @@ By default, `/LN` isn't in effect, and the compiler inserts an assembly manifest
21
21
22
22
When you use `/LN`, you must also use one of the [/clr (Common Language Runtime Compilation)](clr-common-language-runtime-compilation.md) options.
23
23
24
-
A managed program that doesn't have assembly metadata in the manifest is called a module. If you compile with [/c (Compile Without Linking)](c-compile-without-linking.md) and `/LN`, specify [`/NOASSEMBLY`(Create a MSIL Module)](noassembly-create-a-msil-module.md) in the linker phase to create the output file.
24
+
A managed program that doesn't have assembly metadata in the manifest is called a module. If you compile with [/c (Compile Without Linking)](c-compile-without-linking.md) and `/LN`, specify [`/NOASSEMBLY`(Create a MSIL Module)](noassembly-create-a-msil-module.md) in the linker phase to create the output file.
25
25
26
-
Create modules if you want to take a component-based approach to building assemblies. You can author types and compile them into modules. Then, you can generate an assembly from one or more modules. For more information on creating assemblies from modules, see [`.netmodule` Files as Linker Input](netmodule-files-as-linker-input.md) or [`Al.exe`(Assembly Linker)](/dotnet/framework/tools/al-exe-assembly-linker).
26
+
Create modules if you want to take a component-based approach to building assemblies. You can author types and compile them into modules. Then, you can generate an assembly from one or more modules. For more information on creating assemblies from modules, see [`.netmodule` Files as Linker Input](netmodule-files-as-linker-input.md) or [`Al.exe`(Assembly Linker)](/dotnet/framework/tools/al-exe-assembly-linker).
27
27
28
28
The default file extension for a module is `.netmodule`.
29
29
30
30
In releases before Visual Studio 2005, you created a module with `/clr:noAssembly`.
31
31
32
-
The MSVC linker accepts `.netmodule` files as input. The output file produced by the linker is an assembly or `.netmodule` with no run-time dependence on any of the `.netmodule`s that you input to the linker. For more information, see [`.netmodule`Files as Linker Input](netmodule-files-as-linker-input.md).
32
+
The MSVC linker accepts `.netmodule` files as input. The output file produced by the linker is an assembly or `.netmodule` with no run-time dependence on any of the `.netmodule`s that you input to the linker. For more information, see [`.netmodule`Files as Linker Input](netmodule-files-as-linker-input.md).
33
33
34
34
### To set this compiler option in the Visual Studio development environment
Copy file name to clipboardExpand all lines: docs/build/reference/midl-property-pages.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
-
description: "Learn more about: MIDL Property Pages"
3
2
title: "MIDL Compiler Property Pages"
4
-
ms.date: "07/24/2019"
3
+
description: "Learn more about: MIDL Property Pages"
4
+
ms.date: 07/24/2019
5
5
ms.topic: "article"
6
6
f1_keywords:
7
7
- VC.Project.VCMidlTool.PreprocessorDefinitions
@@ -125,7 +125,7 @@ Specifies which environment to target ([/env](/windows/win32/midl/-env) arm32|wi
125
125
126
126
### Generate Stubless Proxies
127
127
128
-
Generate fully interpreted stubs with extensions and stubless proxies for object interfaces ([/Oicf](/windows/win32/midl/-oi), [/Oif](/windows/win32/midl/-oi)).
128
+
Generate fully interpreted stubs with extensions and stubless proxies for object interfaces ([/Oicf](/windows/win32/midl/-oi), [/Oif](/windows/win32/midl/-oi)).
# /PGD (Specify Database for Profile-Guided Optimizations)
9
9
10
-
**The /PGD option is deprecated.** Starting in Visual Studio 2015, prefer the [`/GENPROFILE`or `/FASTGENPROFILE`](genprofile-fastgenprofile-generate-profiling-instrumented-build.md) linker options instead. This option is used to specify the name of the .pgd file used by the profile-guided optimization process.
10
+
**The /PGD option is deprecated.** Starting in Visual Studio 2015, prefer the [`/GENPROFILE`or `/FASTGENPROFILE`](genprofile-fastgenprofile-generate-profiling-instrumented-build.md) linker options instead. This option is used to specify the name of the .pgd file used by the profile-guided optimization process.
Copy file name to clipboardExpand all lines: docs/error-messages/tool-errors/linker-tools-error-lnk2022.md
+3-4Lines changed: 3 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,9 @@
1
1
---
2
-
description: "Learn more about: Linker Tools Error LNK2022"
3
2
title: "Linker Tools Error LNK2022"
4
-
ms.date: "11/04/2016"
3
+
description: "Learn more about: Linker Tools Error LNK2022"
4
+
ms.date: 11/04/2016
5
5
f1_keywords: ["LNK2022"]
6
6
helpviewer_keywords: ["LNK2022"]
7
-
ms.assetid: d2128c73-dde3-4b8e-a9b2-0a153acefb3b
8
7
---
9
8
# Linker Tools Error LNK2022
10
9
@@ -16,7 +15,7 @@ One way to diagnose this problem is to run **ildasm -tokens** on the object file
16
15
17
16
One reason for LNK2022 is when a type (such as a struct) exists in multiple compilands with the same name, but with conflicting definitions, and when you compile with [/clr](../../build/reference/clr-common-language-runtime-compilation.md). In this case, make sure that the type has an identical definition in all compilands. The type name is listed in `error_message`.
18
17
19
-
Another possible cause for LNK2022 is when the linker finds a metadata file in a different location than was specified to the compiler (with [#using](../../preprocessor/hash-using-directive-cpp.md)). Make sure that the metadata file (.dll or .netmodule) is in the same location when passed to the linker, as it was when it was passed to the compiler.
18
+
Another possible cause for LNK2022 is when the linker finds a metadata file in a different location than was specified to the compiler (with [#using](../../preprocessor/hash-using-directive-cpp.md)). Make sure that the metadata file (.dll or .netmodule) is in the same location when passed to the linker, as it was when it was passed to the compiler.
20
19
21
20
When building an ATL application, the use of the macro `_ATL_MIXED` is required in all compilands, if it is used in at least one.
0 commit comments