Product News

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.)

IncludeOS: A C++ Unikernel now free and open source

The IncludeOS unikernel prototype is now free and open source at GitHub. IncludeOS offers a portable way to run a compiled C++ service directly on virtual x86 hardware; either locally on your Mac or Windows machine with VirtualBox, or in large scale cloud environments running KVM.

#include <os> // literally.

From the home page:

Run your C++ code directly on virtual hardware

IncludeOS aims to be the thinnest, lightest possible layer, between your C++ code and virtual hardware. We provide a bootloader, standard libraries, lots (we hope) of modules, and the build- and deployment system. You provide the service.

IncludeOS is designed for KVM/Linux but previous versions have also been tested successfully on VirtualBox (which again runs on OS X Windows and Linux) and Bochs

It's a prototype -- be patient!

IncludeOS is not production ready -- but we're working hard to become so.

It's a research project

IncludeOS is the result of a research project at Oslo and Akershus University College of Applied Science (hioa.no)

A paper titled IncludeOS: a resource efficient unikernel for cloud services, which presents the first prototype, will appear at IEEE CloudCom 2015

Contributors

IncludeOS was created by @alfred-bratterud, with lots of contributions from @fwsgonzo and others at the NETSYS group at HiOA.

Announcing the VS GDB Debugger extension--Marc Goodner

Annoucing a new tool in Visual Studio:

Announcing the VS GDB Debugger extension

by Marc Goodner

From the article:

Earlier this year I wrote a post on how you could debug C++ code on Linux from Visual Studio. It was a bit cumbersome, but it was doable. Today we are releasing the Visual Studio GDB Debugger extension preview. This will enable debugging remote Linux targets including IoT devices...