Product News

VS 2015 Update 2's STL is C++17-so-far Feature Complete--Stephan T. Lavavej

Good news from the Visual C++ team: in Visual Studio Update 2, they have implemented every C++ Standard Library feature that's been voted into C++11, C++14, and the C++17-so-far Working Paper N4567:

VS 2015 Update 2's STL is C++17-so-far Feature Complete

by Stephan T. Lavavej

From the article:

Update 2's STL fully supports N3462 "SFINAE-Friendly result_of" and LWG 2132 "std::function ambiguity"...

CppCast Episode 42: Intel Tamper Protection with Marc Valle

Episode 42 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Marc Valle to discuss Intel's Tamper Protection Toolkit which can be used to protect your C++ application from reverse engineering and tampering.

CppCast Episode 42: Intel Tamper Protection with Marc Valle

by Rob Irving and Jason Turner

About the interviewee:

Marc Valle is the technical lead for the Intel (R) Tamper Protection Toolkit. His professional interests include tamper protection, reverse engineering, compilers, security, and privacy. In his free time he can be found staring at the black line at the bottom of the pool preparing for his next competition.

Android++ is now open source

The title says all:

Android++ is now open source

From the article:

Android++ is a freely distributed extension and associated MSBuild scripts designed to enable Android application development within Visual Studio. Primarily for NDK based C/C++ applications, it also incorporates customisable deployment, resource management, and integrated Java source compilation.

Wandbox online compiler -- Bartosz Bielecki

The online compiler Wandbox offers new functionality.

Wandbox

It offers now the following features:

  • support for newest (HEAD) versions of GCC and Clang
  • support for various versions of Boost (from 1.47 to 1.60)
  • support for emacs/vim key bindings
  • permalinking your code snippets

boost 1.60.0 released

The boost community has released a new version of the boost library

boost 1.60.0

From the release note:

One new library was added:

VMD: Variadic Macro Data library, from Edward Diener.

Libraries with bug fixes and enhancements are:

Atomic
Chrono
Container
Context
Core
Filesystem
Flyweight
Fusion
Interprocess
Intrusive
Lexical Cast
Locale
Log
Move
Multi-index Container
odeint
Optional
Predef
Test
Thread
UUID

Support for Android CMake projects in Visual Studio--Ion Todirel

Discover a functionnality of Visual Studio:

Support for Android CMake projects in Visual Studio

by Ion Todirel

From the article:

CMake is a cross-platform project generator that enables reuse of shared C++ code across multiple IDE and project systems.

We made a change to CMake to support our Android toolchain in Visual Studio. With this change, you can take your existing CMake project targetting Android, and with minimal modifications, you can have it open in Visual Studio, and benefit from our rich IDE experience for Android...

CppCast Episode 37: Ranges with Eric Niebler

Episode 37 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Eric Niebler to discuss his work on Ranges and the future of the Standard Library.

CppCast Episode 37: Ranges with Eric Niebler

by Rob Irving and Jason Turner

About the interviewee:

Eric Niebler is an independent consultant specializing in C++ library development. Currently, he is working on modernizing the C++ standard library and adding support for ranges, funded by the first-ever grant from the Standard C++ Foundation. Previously, Eric was a consultant for BoostPro computing, a member of Microsoft's Visual C++ team, and a Microsoft Researcher before that. In addition, he has several libraries in Boost and is a Boost release manager and steering committee member. Eric has been an active member of the C++ Standardization Committee for well over 10 years. He speaks regularly at C++ conferences around the world.

In a previous life, Eric drifted with no fixed address, writing C++ and blog entries from cafes and beaches around the world. Today, Eric is a family man living and working in the glorious Pacific Northwest near Seattle.

Oracle Solaris Studio 12.5 Beta

O_SolarisStudio.gifOracle Solaris Studio 12.5 Beta Release

The Oracle Solaris Studio 12.5 Beta release is now available for download from OTN.  Oracle Solaris Studio delivers highly optimized compilers, advanced analysis tools and a multi-language aware IDE for easy development of fast, reliable and secure applications for Oracle Solaris and Linux operating systems.

Key Benefits:

  • Increased application security with Oracle SPARC M7 Silicon Secured Memory integration and built-in security checking capabilities.
  • Latest language standard support, including C++14, C++11 and C11, and easy compilation of open source applications with improved GCC compatibility.
  • Performance optimizations for the latest Oracle systems and updates throughout the tool suite for creating faster applications, faster

Clang with Microsoft CodeGen in VS 2015 Update 1--Dave Bartolomeo

You can now easily verify if Clang can compile your code on Windows:

Clang with Microsoft CodeGen in VS 2015 Update 1

by Dave Bartolomeo and the Clang/C2 feature crew

From the article:

One of the challenges with developing and maintaining cross-platform C++ code is dealing with different C++ compilers for different platforms. You write some code that builds fine with the Visual C++ compiler for your Windows-targeting build, but then your Android-targeting build breaks because Clang is stricter about standards conformance and your code was accidentally depending on Visual C++ being more permissive. Or, you write new code that builds successfully with Clang for iOS, only to find out that you used a relatively new C++ language feature that Visual C++ does not yet support, and now you have to either re-implement the code without using that language feature, or maintain a separate implementation that works with Visual C++ for your Windows build.

To make it easier to develop cross-platform code that works well for both Windows and other platforms, we’ve released an additional compiler toolset for Visual Studio called Clang with Microsoft CodeGen. This compiler uses the open-source Clang parser for C and C++, along with the code generator and optimizer from the Visual C++ compiler. This lets you compile your cross-platform code for Windows using the same Clang parser that you use for other targets, while still taking advantage of the advanced optimizations from the Visual C++ optimizer when you build for Windows. Because the new toolset uses the same Clang parser used for non-Windows targets, you won't need to have annoying #ifdefs throughout the code just to account for differences between the compilers. Also, your code can take advantage of language features that are not currently available in the Visual C++ compiler, including C99 complex types and C++14 extended constexpr support. And because the Clang-based compiler generates the same debug information format as the Visual C++ compiler, you'll still be able to debug your code with the same great Visual Studio debugger experience.

C++ Core Guidelines Checkers available for VS 2015 Update 1--Andrew Pardoe and Neil MacIntosh

Coding well in C++ is becoming easier:

C++ Core Guidelines Checkers available for VS 2015 Update 1

by Andrew Pardoe and Neil MacIntosh

From the article:

Back in September at CppCon 2015 Neil announced that we would be shipping new code analysis tools for C++ that would enforce some of the rules in the C++ Core Guidelines. (A video of the talk is available here: https://www.youtube.com/watch?v=rKlHvAw1z50 and slides are available on the ISOCpp GitHub repo.)