Skip to content

Commit 2670440

Browse files
mikeblomeColin Robertson
authored andcommitted
Visual C++ branding mods (MicrosoftDocs#563)
* changed Visual C++ to various other branded strings * fixed some spacing * changed Visual C++ compiler to Microsoft C++ compiler per product team request * Partial scan of branding * Additional branding fixes. * Remove obsolete link * Fix a clunky bit
1 parent a120486 commit 2670440

30 files changed

+1574
-1454
lines changed

docs/build/common-visual-cpp-arm-migration-issues.md

Lines changed: 89 additions & 92 deletions
Large diffs are not rendered by default.
Lines changed: 42 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
---
22
title: "Compiler Options | Microsoft Docs"
33
ms.custom: ""
4-
ms.date: "11/04/2016"
4+
ms.date: "01/29/2018"
55
ms.reviewer: ""
66
ms.suite: ""
77
ms.technology: ["cpp-tools"]
88
ms.tgt_pltfrm: ""
99
ms.topic: "article"
1010
dev_langs: ["C++"]
11-
helpviewer_keywords: ["cl.exe compiler", "IPF Visual C++ compiler", "Itanium Visual C++ compiler", "compiler options, C++", "x64 Visual C++ compiler"]
11+
helpviewer_keywords: ["cl.exe compiler", "x86 Visual C++ compiler", "ARM Visual C++ compiler", "compiler options, C++", "x64 Visual C++ compiler"]
1212
ms.assetid: ed3376c8-bef4-4c9a-80e9-3b5da232644c
1313
caps.latest.revision: 18
1414
author: "corob-msft"
@@ -17,42 +17,43 @@ manager: "ghogen"
1717
ms.workload: ["cplusplus"]
1818
---
1919
# Compiler Options
20-
cl.exe is a tool that controls the Microsoft C and C++ compilers and linker. cl.exe can be run only on operating systems that support Microsoft Visual Studio.
21-
22-
> [!NOTE]
23-
> You can start this tool only from the [!INCLUDE[vsprvs](../../assembler/masm/includes/vsprvs_md.md)] command prompt. You cannot start it from a system command prompt or from File Explorer.
24-
25-
The compilers produce Common Object File Format (COFF) object (.obj) files. The linker produces executable (.exe) files or dynamic-link libraries (DLLs).
26-
27-
Note that all compiler options are case sensitive.
28-
29-
To compile without linking, use [/c](../../build/reference/c-compile-without-linking.md).
30-
31-
## Finding an Option
32-
To find a particular compiler option, see one of the following lists:
33-
34-
- [Compiler Options Listed Alphabetically](../../build/reference/compiler-options-listed-alphabetically.md)
35-
36-
- [Compiler Options Listed by Category](../../build/reference/compiler-options-listed-by-category.md)
37-
38-
## Specifying Options
39-
The topic for each compiler option discusses how it can be set in the development environment. For information on specifying options outside the development environment, see:
40-
41-
- [Compiler Command-Line Syntax](../../build/reference/compiler-command-line-syntax.md)
42-
43-
- [CL Command Files](../../build/reference/cl-command-files.md)
44-
45-
- [CL Environment Variables](../../build/reference/cl-environment-variables.md)
46-
47-
## Related Build Tools
48-
Use [NMAKE](../../build/nmake-reference.md) to build your output file.
49-
50-
Use [BSCMAKE](../../build/reference/bscmake-reference.md) to support class browsing.
51-
52-
[Linker options](../../build/reference/linker-options.md) also affect how your program is built.
53-
54-
## See Also
55-
[C/C++ Building Reference](../../build/reference/c-cpp-building-reference.md)
56-
[Setting Compiler Options](../../build/reference/setting-compiler-options.md)
57-
[Fast Compilation](../../build/reference/fast-compilation.md)
58-
[CL Invokes the Linker](../../build/reference/cl-invokes-the-linker.md)
20+
21+
cl.exe is a tool that controls the Microsoft Visual C++ (MSVC) C and C++ compilers and linker. cl.exe can be run only on operating systems that support Microsoft Visual Studio for Windows.
22+
23+
> [!NOTE]
24+
> You can start this tool only from a Visual Studio developer command prompt. You cannot start it from a system command prompt or from File Explorer. For more information, see [Build C/C++ code on the command line](../building-on-the-command-line.md).
25+
26+
The compilers produce Common Object File Format (COFF) object (.obj) files. The linker produces executable (.exe) files or dynamic-link libraries (DLLs).
27+
28+
Note that all compiler options are case sensitive. You may use either a forward slash (`/`) or a dash (`-`) to specify a compiler option.
29+
30+
To compile without linking, use the [/c](../../build/reference/c-compile-without-linking.md) option.
31+
32+
## Find a compiler option
33+
34+
To find a particular compiler option, see one of the following lists:
35+
36+
- [Compiler Options Listed Alphabetically](../../build/reference/compiler-options-listed-alphabetically.md)
37+
38+
- [Compiler Options Listed by Category](../../build/reference/compiler-options-listed-by-category.md)
39+
40+
## Specify compiler options
41+
42+
The topic for each compiler option discusses how it can be set in the development environment. For information on specifying options outside the development environment, see:
43+
44+
- [Compiler Command-Line Syntax](../../build/reference/compiler-command-line-syntax.md)
45+
46+
- [CL Command Files](../../build/reference/cl-command-files.md)
47+
48+
- [CL Environment Variables](../../build/reference/cl-environment-variables.md)
49+
50+
## Related build tools
51+
52+
[Linker options](../../build/reference/linker-options.md) also affect how your program is built.
53+
54+
## See also
55+
56+
[C/C++ Building Reference](../../build/reference/c-cpp-building-reference.md)
57+
[Setting Compiler Options](../../build/reference/setting-compiler-options.md)
58+
[Fast Compilation](../../build/reference/fast-compilation.md)
59+
[CL Invokes the Linker](../../build/reference/cl-invokes-the-linker.md)

docs/build/reference/volatile-volatile-keyword-interpretation.md

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -18,39 +18,39 @@ manager: "ghogen"
1818
ms.workload: ["cplusplus"]
1919
---
2020
# /volatile (volatile Keyword Interpretation)
21-
Specifies how the [volatile](../../cpp/volatile-cpp.md) keyword is to be interpreted.
22-
23-
## Syntax
24-
25-
```
26-
/volatile:{iso|ms}
27-
```
28-
29-
## Arguments
30-
**/volatile:iso**
31-
Selects strict `volatile` semantics as defined by the ISO-standard C++ language. Acquire/release semantics are not guaranteed on volatile accesses. If the compiler targets ARM, this is the default interpretation of `volatile`.
32-
33-
**/volatile:ms**
34-
Selects Microsoft extended `volatile` semantics, which add memory ordering guarantees beyond the ISO-standard C++ language. Acquire/release semantics are guaranteed on volatile accesses. However, this option also forces the compiler to generate hardware memory barriers, which might add significant overhead on ARM and other weak memory-ordering architectures. If the compiler targets any platform except ARM, this is default interpretation of `volatile`.
35-
36-
## Remarks
37-
We strongly recommend that you use **/volatile:iso** along with explicit synchronization primitives and compiler intrinsics when you are dealing with memory that is shared across threads. For more information, see [volatile](../../cpp/volatile-cpp.md).
38-
39-
If you port existing code or change this option in the middle of a project, it may be helpful to enable warning [C4746](../../error-messages/compiler-warnings/compiler-warning-c4746.md) to identify code locations that are affected by the difference in semantics.
40-
41-
There is no `#pragma` equivalent to control this option.
42-
43-
### To set the /volatile compiler option in Visual Studio
44-
45-
1. Open the **Property Pages** dialog box for the project. For more information, see [Working with Project Properties](../../ide/working-with-project-properties.md).
46-
47-
2. Select the **C/C++** folder.
48-
49-
3. Select the **Command Line** property page.
50-
51-
4. In the **Additional options** box, add `/volatile:iso` or `/volatile:ms`.
52-
53-
## See Also
54-
[volatile](../../cpp/volatile-cpp.md)
55-
[Compiler Options](../../build/reference/compiler-options.md)
56-
[Setting Compiler Options](../../build/reference/setting-compiler-options.md)
21+
22+
Specifies how the [volatile](../../cpp/volatile-cpp.md) keyword is to be interpreted.
23+
24+
## Syntax
25+
26+
> **/volatile:**{**iso**|**ms**}
27+
28+
## Arguments
29+
30+
**/volatile:iso**
31+
Selects strict `volatile` semantics as defined by the ISO-standard C++ language. Acquire/release semantics are not guaranteed on volatile accesses. If the compiler targets ARM, this is the default interpretation of `volatile`.
32+
33+
**/volatile:ms**
34+
Selects Microsoft extended `volatile` semantics, which add memory ordering guarantees beyond the ISO-standard C++ language. Acquire/release semantics are guaranteed on volatile accesses. However, this option also forces the compiler to generate hardware memory barriers, which might add significant overhead on ARM and other weak memory-ordering architectures. If the compiler targets any platform except ARM, this is default interpretation of `volatile`.
35+
36+
## Remarks
37+
38+
We strongly recommend that you use **/volatile:iso** along with explicit synchronization primitives and compiler intrinsics when you are dealing with memory that is shared across threads. For more information, see [volatile](../../cpp/volatile-cpp.md).
39+
40+
If you port existing code or change this option in the middle of a project, it may be helpful to enable warning [C4746](../../error-messages/compiler-warnings/compiler-warning-c4746.md) to identify code locations that are affected by the difference in semantics.
41+
42+
There is no `#pragma` equivalent to control this option.
43+
44+
### To set the /volatile compiler option in Visual Studio
45+
46+
1. Open the **Property Pages** dialog box for the project. For more information, see [Working with Project Properties](../../ide/working-with-project-properties.md).
47+
48+
1. Select the **Configuration Properties** > **C/C++** > **Command Line** property page.
49+
50+
1. In the **Additional options** box, add **/volatile:iso** or **/volatile:ms** and then choose **OK** or **Apply** to save your changes.
51+
52+
## See also
53+
54+
[volatile](../../cpp/volatile-cpp.md)
55+
[Compiler Options](../../build/reference/compiler-options.md)
56+
[Setting Compiler Options](../../build/reference/setting-compiler-options.md)
Lines changed: 70 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "C Bitwise Operators | Microsoft Docs"
33
ms.custom: ""
4-
ms.date: "11/04/2016"
4+
ms.date: "01/29/2018"
55
ms.reviewer: ""
66
ms.suite: ""
77
ms.technology: ["cpp-language"]
@@ -17,72 +17,72 @@ manager: "ghogen"
1717
ms.workload: ["cplusplus"]
1818
---
1919
# C Bitwise Operators
20-
The bitwise operators perform bitwise-AND (**&**), bitwise-exclusive-OR (**^**), and bitwise-inclusive-OR (**|**) operations.
21-
22-
**Syntax**
23-
24-
*AND-expression*:
25-
*equality-expression*
26-
27-
*AND-expression* **&** *equality-expression*
28-
29-
*exclusive-OR-expression*:
30-
*AND-expression*
31-
32-
*exclusive-OR-expression* **^** *AND-expression*
33-
34-
*inclusive-OR-expression*:
35-
*exclusive-OR-expression*
36-
37-
*inclusive-OR-expression* | *exclusive-OR-expression*
38-
39-
The operands of bitwise operators must have integral types, but their types can be different. These operators perform the usual arithmetic conversions; the type of the result is the type of the operands after conversion.
40-
41-
The C bitwise operators are described below:
42-
43-
|Operator|Description|
44-
|--------------|-----------------|
45-
|**&**|The bitwise-AND operator compares each bit of its first operand to the corresponding bit of its second operand. If both bits are 1, the corresponding result bit is set to 1. Otherwise, the corresponding result bit is set to 0.|
46-
|**^**|The bitwise-exclusive-OR operator compares each bit of its first operand to the corresponding bit of its second operand. If one bit is 0 and the other bit is 1, the corresponding result bit is set to 1. Otherwise, the corresponding result bit is set to 0.|
47-
|**|**|The bitwise-inclusive-OR operator compares each bit of its first operand to the corresponding bit of its second operand. If either bit is 1, the corresponding result bit is set to 1. Otherwise, the corresponding result bit is set to 0.|
48-
49-
## Examples
50-
These declarations are used for the following three examples:
51-
52-
```
53-
short i = 0xAB00;
54-
short j = 0xABCD;
55-
short n;
56-
57-
n = i & j;
58-
```
59-
60-
The result assigned to `n` in this first example is the same as `i` (0xAB00 hexadecimal).
61-
62-
```
63-
n = i | j;
64-
65-
n = i ^ j;
66-
```
67-
68-
The bitwise-inclusive OR in the second example results in the value 0xABCD (hexadecimal), while the bitwise-exclusive OR in the third example produces 0xCD (hexadecimal).
69-
70-
**Microsoft Specific**
71-
72-
The results of bitwise operation on signed integers is implementation-defined according to the ANSI C standard. For the Microsoft C compiler, bitwise operations on signed integers work the same as bitwise operations on unsigned integers. For example, `-16 & 99` can be expressed in binary as
73-
74-
```
75-
11111111 11110000
76-
& 00000000 01100011
77-
_________________
78-
00000000 01100000
79-
```
80-
81-
The result of the bitwise AND is 96 decimal.
82-
83-
**END Microsoft Specific**
84-
85-
## See Also
86-
[Bitwise AND Operator: &](../cpp/bitwise-and-operator-amp.md)
87-
[Bitwise Exclusive OR Operator: ^](../cpp/bitwise-exclusive-or-operator-hat.md)
88-
[Bitwise Inclusive OR Operator: |](../cpp/bitwise-inclusive-or-operator-pipe.md)
20+
21+
The bitwise operators perform bitwise-AND (**&**), bitwise-exclusive-OR (**^**), and bitwise-inclusive-OR (**|**) operations.
22+
23+
## Syntax
24+
25+
*AND-expression*:
26+
  *equality-expression*
27+
  *AND-expression* **&** *equality-expression*
28+
29+
*exclusive-OR-expression*:
30+
  *AND-expression*
31+
  *exclusive-OR-expression* **^** *AND-expression*
32+
33+
*inclusive-OR-expression*:
34+
  *exclusive-OR-expression*
35+
  *inclusive-OR-expression* | *exclusive-OR-expression*
36+
37+
The operands of bitwise operators must have integral types, but their types can be different. These operators perform the usual arithmetic conversions; the type of the result is the type of the operands after conversion.
38+
39+
The C bitwise operators are described below:
40+
41+
|Operator|Description|
42+
|--------------|-----------------|
43+
|**&**|The bitwise-AND operator compares each bit of its first operand to the corresponding bit of its second operand. If both bits are 1, the corresponding result bit is set to 1. Otherwise, the corresponding result bit is set to 0.|
44+
|**^**|The bitwise-exclusive-OR operator compares each bit of its first operand to the corresponding bit of its second operand. If one bit is 0 and the other bit is 1, the corresponding result bit is set to 1. Otherwise, the corresponding result bit is set to 0.|
45+
|**|**|The bitwise-inclusive-OR operator compares each bit of its first operand to the corresponding bit of its second operand. If either bit is 1, the corresponding result bit is set to 1. Otherwise, the corresponding result bit is set to 0.|
46+
47+
## Examples
48+
49+
These declarations are used for the following three examples:
50+
51+
```C
52+
short i = 0xAB00;
53+
short j = 0xABCD;
54+
short n;
55+
56+
n = i & j;
57+
```
58+
59+
The result assigned to `n` in this first example is the same as `i` (0xAB00 hexadecimal).
60+
61+
```C
62+
n = i | j;
63+
64+
n = i ^ j;
65+
```
66+
67+
The bitwise-inclusive OR in the second example results in the value 0xABCD (hexadecimal), while the bitwise-exclusive OR in the third example produces 0xCD (hexadecimal).
68+
69+
**Microsoft Specific**
70+
71+
The results of bitwise operation on signed integers is implementation-defined according to the ANSI C standard. For the Microsoft C compiler, bitwise operations on signed integers work the same as bitwise operations on unsigned integers. For example, `-16 & 99` can be expressed in binary as
72+
73+
```Expression
74+
11111111 11110000
75+
& 00000000 01100011
76+
_________________
77+
00000000 01100000
78+
```
79+
80+
The result of the bitwise AND is 96 decimal.
81+
82+
**END Microsoft Specific**
83+
84+
## See also
85+
86+
[Bitwise AND Operator: &](../cpp/bitwise-and-operator-amp.md)
87+
[Bitwise Exclusive OR Operator: ^](../cpp/bitwise-exclusive-or-operator-hat.md)
88+
[Bitwise Inclusive OR Operator: |](../cpp/bitwise-inclusive-or-operator-pipe.md)

docs/c-language/c-pragmas.md

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "C Pragmas | Microsoft Docs"
33
ms.custom: ""
4-
ms.date: "11/04/2016"
4+
ms.date: "01/29/2018"
55
ms.reviewer: ""
66
ms.suite: ""
77
ms.technology: ["cpp-language"]
@@ -17,21 +17,23 @@ manager: "ghogen"
1717
ms.workload: ["cplusplus"]
1818
---
1919
# C Pragmas
20-
**Microsoft Specific**
21-
22-
A "pragma" instructs the compiler to perform a particular action at compile time. Pragmas vary from compiler to compiler. For example, you can use the **optimize** pragma to set the optimizations to perform on your program. The Microsoft C pragmas are:
23-
24-
|||||
25-
|-|-|-|-|
26-
|**alloc_text**|**data_seg**|**inline_recursion**|**setlocale**|
27-
|**auto_inline**|**function**|**intrinsic**|**warning**|
28-
|**check_stack**|**hdrstop**|**message**||
29-
|**code_seg**|**include_alias**|**optimize**||
30-
|**comment**|**inline_depth**|**pack**||
31-
32-
See [Pragma Directives and the __Pragma Keyword](../preprocessor/pragma-directives-and-the-pragma-keyword.md) in the *Preprocessor Reference* for a description of the Microsoft C compiler pragmas.
33-
34-
**END Microsoft Specific**
35-
36-
## See Also
37-
[Source Files and Source Programs](../c-language/source-files-and-source-programs.md)
20+
21+
**Microsoft Specific**
22+
23+
A *pragma* instructs the compiler to perform a particular action at compile time. Pragmas vary from compiler to compiler. For example, you can use the **optimize** pragma to set the optimizations to perform on your program. The Microsoft C pragmas are:
24+
25+
|||||
26+
|-|-|-|-|
27+
|**alloc_text**|**data_seg**|**inline_recursion**|**setlocale**|
28+
|**auto_inline**|**function**|**intrinsic**|**warning**|
29+
|**check_stack**|**hdrstop**|**message**||
30+
|**code_seg**|**include_alias**|**optimize**||
31+
|**comment**|**inline_depth**|**pack**||
32+
33+
See [Pragma Directives and the __Pragma Keyword](../preprocessor/pragma-directives-and-the-pragma-keyword.md) for a description of the Microsoft C compiler pragmas.
34+
35+
**END Microsoft Specific**
36+
37+
## See also
38+
39+
[Source Files and Source Programs](../c-language/source-files-and-source-programs.md)

0 commit comments

Comments
 (0)