Skip to content

Commit d6eb43b

Browse files
authored
Merge pull request #272 from Microsoft/live
push master to live
2 parents f9911fa + 3d9cec7 commit d6eb43b

7 files changed

+18
-20
lines changed

docs/build/importing-using-def-files.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ EXPORTS
5050

5151
|Keyword|Emits in the import library|Exports|
5252
|-------------|---------------------------------|-------------|
53-
|`CONSTANT`|`_imp_ulDataInDll_ulDataInDll`|`_ulDataInDll`|
53+
|`CONSTANT`|`_imp_ulDataInDll`, `_ulDataInDll`|`_ulDataInDll`|
5454
|`DATA`|`_imp_ulDataInDll`|`_ulDataInDll`|
5555

5656
Using **__declspec(dllimport)** and CONSTANT lists both the `imp` version and the undecorated name in the .lib DLL import library that is created to allow explicit linking. Using **__declspec(dllimport)** and DATA lists just the `imp` version of the name.
@@ -82,4 +82,4 @@ if (ulDataInDll == 0L) /*sample code fragment*/
8282
The current Visual C++ linker issues a warning if it sees CONSTANT in the .def file to account for this case. The only real reason to use CONSTANT is if you cannot recompile some object file where the header file did not list **__declspec(dllimport)** on the prototype.
8383

8484
## See Also
85-
[Importing into an Application](../build/importing-into-an-application.md)
85+
[Importing into an Application](../build/importing-into-an-application.md)

docs/cpp/errors-and-exception-handling-modern-cpp.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,10 +113,10 @@ int main()
113113
For more information about SEH, see [Structured Exception Handling (C/C++)](../cpp/structured-exception-handling-c-cpp.md).
114114

115115
## Exception specifications and noexcept
116-
Exception specifications were introduced in C++ as a way to specify the exceptions that a function might throw. However, exception specifications proved problematic in practice, and are deprecated in the C++11 draft standard. We recommend that you do not use exception specifications except for `throw()`, which indicates that the exception allows no exceptions to escape. If you must use exception specifications of the type `throw(`*type*`)`, be aware that [!INCLUDE[vcprvc](../build/includes/vcprvc_md.md)] departs from the standard in certain ways. For more information, see [Exception Specifications (throw)](../cpp/exception-specifications-throw-cpp.md). The `noexcept` specifier is introduced in C++11 as the preferred alternative to `throw()`.
116+
Exception specifications were introduced in C++ as a way to specify the exceptions that a function might throw. However, exception specifications proved problematic in practice, and are deprecated in the C++11 draft standard. We recommend that you do not use exception specifications except for `throw()`, which indicates that the function allows no exceptions to escape. If you must use exception specifications of the type `throw(`*type*`)`, be aware that [!INCLUDE[vcprvc](../build/includes/vcprvc_md.md)] departs from the standard in certain ways. For more information, see [Exception Specifications (throw)](../cpp/exception-specifications-throw-cpp.md). The `noexcept` specifier is introduced in C++11 as the preferred alternative to `throw()`.
117117

118118
## See Also
119119
[How to: Interface Between Exceptional and Non-Exceptional Code](../cpp/how-to-interface-between-exceptional-and-non-exceptional-code.md)
120120
[Welcome Back to C++](../cpp/welcome-back-to-cpp-modern-cpp.md)
121121
[C++ Language Reference](../cpp/cpp-language-reference.md)
122-
[C++ Standard Library](../standard-library/cpp-standard-library-reference.md)
122+
[C++ Standard Library](../standard-library/cpp-standard-library-reference.md)

docs/cppcx/threading-and-marshaling-c-cx.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -115,8 +115,8 @@ public ref class MySTAClass
115115
};
116116
117117
```
118-
119-
An unsealed class must have marshaling and threading attribute settings so that the compiler can verify that derived classes have the same value for these attributes. If the class doesn't have the settings set explicitly, the compiler generates an error and fails to compile. Any class that's derived from an unsealedclass generates a compiler error in either of these cases:
118+
An unsealed class must have marshaling and threading attribute settings so that the compiler can verify that derived classes have the same value for these attributes. If the class doesn't have the settings set explicitly, the compiler generates an error and fails to compile. Any class that's derived from an unsealed class generates a compiler error in either of these cases:
119+
120120

121121
- The `ThreadingModel` and `MarshallingBehavior` attributes are not defined in the derived class.
122122

@@ -126,6 +126,4 @@ public ref class MySTAClass
126126

127127
## See Also
128128
[ThreadingModel](http://msdn.microsoft.com/library/windows/apps/xaml/windows.foundation.metadata.threadingmodel.aspx)
129-
[MarshallingBehavior](http://msdn.microsoft.com/library/windows/apps/xaml/windows.foundation.metadata.marshalingbehaviorattribute.aspx)
130-
131-
129+
[MarshallingBehavior](http://msdn.microsoft.com/library/windows/apps/xaml/windows.foundation.metadata.marshalingbehaviorattribute.aspx)

docs/cppcx/type-system-c-cx.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,15 @@ By using the [!INCLUDE[wrt](../cppcx/includes/wrt-md.md)] architecture, you can
2020

2121
For an in-depth discussion of the C++/CX language projection and how it works under the covers, see these blog posts:
2222

23-
1. [C++/CX Part 0 of \[n\]: An Introduction](http://blogs.msdn.com/b/vcblog/archive/2012/08/29/cxxcxpart00anintroduction.aspx)
23+
1. [C++/CX Part 0 of \[n\]: An Introduction](https://blogs.msdn.microsoft.com/vcblog/2012/08/29/ccx-part-0-of-n-an-introduction)
2424

25-
2. [C++/CX Part 0 of \[n\]: An Introduction](http://blogs.msdn.com/b/vcblog/archive/2012/08/29/cxxcxpart00anintroduction.aspx)
25+
2. [C++/CX Part 1 of \[n\]: A Simple Class](https://blogs.msdn.microsoft.com/vcblog/2012/09/05/ccx-part-1-of-n-a-simple-class)
2626

27-
3. [C++/CX Part 2 of \[n\]: Types That Wear Hats](http://blogs.msdn.com/b/vcblog/archive/2012/09/17/cxxcxpart02typesthatwearhats.aspx)
27+
3. [C++/CX Part 2 of \[n\]: Types That Wear Hats](https://blogs.msdn.microsoft.com/vcblog/2012/09/17/ccx-part-2-of-n-types-that-wear-hats)
2828

29-
4. [C++/CX Part 3 of \[n\]: Under Construction](http://blogs.msdn.com/b/vcblog/archive/2012/10/05/cxxcxpart03underconstruction.aspx)
29+
4. [C++/CX Part 3 of \[n\]: Under Construction](https://blogs.msdn.microsoft.com/vcblog/2012/10/05/ccx-part-3-of-n-under-construction/)
3030

31-
5. [C++/CX Part 4 of \[n\]: Static Member Functions](http://blogs.msdn.com/b/vcblog/archive/2012/10/19/cxxcxpart04staticmemberfunctions.aspx)
31+
5. [C++/CX Part 4 of \[n\]: Static Member Functions](https://blogs.msdn.microsoft.com/vcblog/2012/10/19/ccx-part-4-of-n-static-member-functions)
3232

3333
## Windows metadata (.winmd) files
3434
When you compile a Universal Windows Platform app that's written in C++, the compiler generates the executable in native machine code, and also generates a separate Windows metadata (.winmd) file that contains descriptions of the public [!INCLUDE[wrt](../cppcx/includes/wrt-md.md)] types, which include classes, structs, enumerations, interfaces, parameterized interfaces, and delegates. The format of the metadata resembles the format that's used in .NET Framework assemblies. In a C++ component, the .winmd file contains only metadata; the executable code resides in a separate file. This is the case for the [!INCLUDE[wrt](../cppcx/includes/wrt-md.md)] components that are included with Windows. The WinMD file name must match or be a prefix of the root namespace in the source code. (For .NET Framework languages, the .winmd file contains both the code and the metadata, just like a .NET Framework assembly.)
@@ -162,4 +162,4 @@ By using the [!INCLUDE[wrt](../cppcx/includes/wrt-md.md)] architecture, you can
162162
For more information, see [Deprecating types and members](../cppcx/deprecating-types-and-members-c-cx.md).
163163

164164
## See Also
165-
[Visual C++ Language Reference](../cppcx/visual-c-language-reference-c-cx.md)
165+
[Visual C++ Language Reference](../cppcx/visual-c-language-reference-c-cx.md)

docs/data/data-access-in-cpp.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ Connect to Azure SQL Database from C or C++ applications.
6161
[Azure Storage](/azure/storage/storage-introduction) is a cloud storage solution for modern applications that rely on durability, availability, and scalability to meet the needs of their customers. Connect to Azure Storage from C++ by using the Azure Storage Client Library for C++.
6262

6363
[ODBC Driver 13.1 for SQL Server - Windows Released](https://blogs.msdn.microsoft.com/sqlnativeclient/2016/08/01/announcing-the-odbc-driver-13-1-for-sql-server)
64-
The latest ODBC driver provides robust data access to Microsoft SQL Server 2016 Microsoft Azure SQL Database for C/C++ based applications. Provides support for features including always encrypted, Azure Active Directory, and AlwaysOn Availability Groupsi. Also available for MacOS and Linux.
64+
The latest ODBC driver provides robust data access to Microsoft SQL Server 2016 Microsoft Azure SQL Database for C/C++ based applications. Provides support for features including always encrypted, Azure Active Directory, and AlwaysOn Availability Groups. Also available for MacOS and Linux.
6565

6666
[SQL Server Native Client](https://msdn.microsoft.com/library/ms130892.aspx)
6767
SQL Server Native Client is a stand-alone data access application programming interface (API), used for both OLE DB and ODBC, that supports SQL Server 2005 through SQL Server 2014. New applications should use the ODBC Driver 13.1 for SQL Server.
@@ -76,4 +76,4 @@ Azure makes it easy to build C++ applications with increased flexibility, scalab
7676
The ODBC interface is designed for use with the C programming language. Use of the ODBC interface spans three areas: SQL statements, ODBC function calls, and C programming.
7777

7878
## See Also
79-
[Visual C++](../visual-cpp-in-visual-studio.md)
79+
[Visual C++](../visual-cpp-in-visual-studio.md)

docs/parallel/concrt/codesnippet/CPP/walkthrough-creating-a-dataflow-agent_7.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ class dataflow_agent : public agent
188188
// Set the sentinel event.
189189
received_sentinel.set();
190190
},
191-
[](int value) {
191+
[](int value) -> bool {
192192
return value == 0;
193193
});
194194

@@ -299,4 +299,4 @@ int wmain()
299299
<< L" negative numbers."<< endl;
300300
wcout << L"There are " << df_agent.positives()
301301
<< L" positive numbers."<< endl;
302-
}
302+
}

docs/parallel/concrt/task-parallelism-concurrency-runtime.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ In the Concurrency Runtime, a *task* is a unit of work that performs a specific
5858

5959
- A task-based continuation is always scheduled for execution when the antecedent task finishes, even when the antecedent task is canceled or throws an exception.
6060

61-
- Use [concurrency:: HYPERLINK "http://msdn.microsoft.com/library/system.threading.tasks.task.whenall(v=VS.110).aspx" when_all](reference/concurrency-namespace-functions.md#when_all) to create a task that completes after every member of a set of tasks completes. Use [concurrency::when_any](reference/concurrency-namespace-functions.md#when_all) to create a task that completes after one member of a set of tasks completes.
61+
- Use [concurrency::when_all](reference/concurrency-namespace-functions.md#when_all) to create a task that completes after every member of a set of tasks completes. Use [concurrency::when_any](reference/concurrency-namespace-functions.md#when_any) to create a task that completes after one member of a set of tasks completes.
6262

6363

6464
- Tasks and task groups can participate in the Parallel Patterns Library (PPL) cancellation mechanism. For more information, see [Cancellation in the PPL](cancellation-in-the-ppl.md).

0 commit comments

Comments
 (0)