Product News

CppDepend v2019.1 Released including Misra C++ Standard!

We are happy to inform you that CppDepend v2019.1 has been released and is now available for download! CppDepend allows architects and developers to analyze C and C++ code base, customizing your own coding rules, and facilitate refactoring and migration.

CppDepend v2019.1

by CppDepend

About the release:

includes important updates:

  • Misra C++ standard checks:  CppDepend 2019.1 provides now out of the box 90 MISRA guidelines to facilitate code safety, security, portability, and reliability.
  • Plugins execution optimization: in order to get the CppDepend results quickly, the execution of the plugins are now executed in asynchronous mode. Their results will be loaded as soon as the analysis is done.
  • Clang Tidy customization: The Clang tidy tool checks against many standards and guidelines which makes it very slow, To optimize its execution you can now change its command line arguments to check only what you want as guidelines.
  • (Improvement) Many bug fixes and improvements including SonarQube 7.6 compatibility.

Download and enjoy the new version of CppDepend now by clicking here.

Formatting user-defined types with {fmt} library--Wojtek GumuĊ‚a

The future.

Formatting user-defined types with {fmt} library

by Wojtek Gumuła

From the article:

C++ has two standardized ways of printing formatted text out already: printf-family functions inherited from C and I/O streams abstraction built on operator<<. Streams are considered more modern, providing type-safety and extensibility functionalities. However, printf have some notable advantages, too — at the cost of lost type-safety, user can use an interface that looks familiar to almost all developers, allowing for some ways of localization and more readable syntax. And then, there is {fmt} — yet another text formatting library, inspired by design already available in languages like Python and Rust...

Conan.io: Package management in C++

Diego Rodríguez-Losada is interviewed about Conan.io

Package management in C++

by Andrew Nesbitt and Alex Pounds

Though a bit outdated because it was recorded 9 months ago, still or, in fact, more than valid knowledge about tooling in C++. From the excerpt: We talk about what inspired the development of Conan, package management problems specific to C/C++ package management and the plans for the future.

 

HPX V1.2.1 released -- STE||AR Group

The STE||AR Group has released V1.2.1 of HPX -- A C++ Standard library for parallelism and concurrency.

HPX V1.2.1 Released

The newest version of HPX (V1.2.1) is now available for download! Please see here for the release notes. This release is a pure bug fix release that addresses a couple of compatibility problems (in particular with Boost V1.69). We have also included some important improvements that were merged since the previous release.

    HPX is a general purpose parallel C++ runtime system for applications of any scale. It implements all of the related facilities as defined by the C++ Standard. As of this writing, HPX provides the only widely available open-source implementation of the new C++17 parallel algorithms. Additionally, HPX implements functionalities proposed as part of the ongoing C++ standardization process, such as large parts of the C++ Concurrency TS, Parallelism TS V2, data-parallel algorithms, executors, and many more. It also extends the existing C++ Standard APIs to the distributed case (e.g. compute clusters) and for heterogeneous systems (e.g. GPUs).

    HPX seamlessly enables a new Asynchronous C++ Standard Programming Model that tends to improve the parallel efficiency of our applications and helps reducing complexities usually associated with parellism and concurrency.

 

Using VS Code for C++ development with containers--Marc Goodner

It can do it.

Using VS Code for C++ development with containers

by Marc Goodner

From the article:

This post builds on using multi-stage containers for C++ development. That post showed how to use a single Dockerfile to describe a build stage and a deployment stage resulting in a container optimized for deployment. It did not show you how to use a containers with your development environment. Here we will show how to use those containers with VS Code. The source for this article is the same as that of the previous article: the findfaces GitHub repo...

ReSharper C++ 2018.3 is released

ReSharper C++ extension makes Microsoft Visual Studio a much better C++ IDE. ReSharper C++ v2018.3 has had literally every smart feature in it tuned, making them work more precisely on modern C++ code.

ReSharper C++ 2018.3: every bit better!

by Anastasia Kazakova

From the article:

ReSharper C++ 2018.3 brought the following enhancements:

  • Performance improvements meaning a more responsive editor
  • Formatter: auto-detection of formatter settings, and C++ naming schemes
  • More information in Parameter info, especially on dependent code. Name hints. Better error diagnostics in templated code
  • New context actions and inspections
  • Support for Catch 2.5
  • Enhanced C++/CLI support and support for Unreal Engine projects
  • Visual Studio 2019 Preview 1 support

 

 

Free PVS-Studio for those who develops open source projects

On the New 2019 year's eve, a PVS-Studio team decided to make a nice gift for all contributors of open-source projects hosted on GitHub or Bitbucket. They are given free usage of PVS-Studio static analyzer for development of open source projects.

Free PVS-Studio for those who develops open source projects

by Andrey Karpov

From the article:

Everyone who wishes, can get a free license for 1 year. To get the license, you need to:

  1. Go to the page: https://www.viva64.com/en/open-source-license/
  2. Enter the e-mail, where you will be sent a license key;
  3. Enter the link to your GitHub/Bitbucket profile;
  4. Send a request for a free license.

Boost 1.69.0

New release.

Boost 1.69.0

From the article:

Notes for non-Windows users
The Boost build system now supports visibilities. If you are building shared libraries, they will use hidden visibility by default. As a result Boost shared libraries become smaller, load faster and have less chances to get a symbol collision.

See Boost.Build visibility and local-visibility for more info.

To disable that feature you can use use a command line ./b2 visibility=global to build...