Tips & Tricks
Using a PEmicro Multilink Debug Probe With CLion
In this video, we show how to use CLion together with a PEmicro Multilink debug probe in order to develop on an ARM-based microcontroller.
Custom Compilers in CLion: A Quick Guide to Using an Arbitrary Compiler in CLion
CLion is an IDE that offers a lot of features to help developers. It shows documentation popups, detects mistakes on the fly, suggests fixes, and more. An internal code analyzer always works in the background, analyzing C and C++ code as you type. C and C++ are challenging languages for automatic analyzers because compiler-specific data is required to parse the code correctly. The engine needs to know the header search paths, predefined macro definitions, and some other details. For a predefined set of known compilers, CLion runs the project's compiler with special options and gathers the req
July 2022 ISO C++ committee virtual meeting report
On July 25, 2022, the ISO C++ committee (also known as WG21) met via Zoom for a virtual plenary session. This plenary session was remarkable for two reasons. First, this was our last virtual meeting before we finally return to meeting in-person – the next meeting is scheduled for November 2022 in Kona, Hawaii. Second, it was the last meeting for approving new features for the upcoming C++23 standard. This means that as of now, C++23 is in feature freeze. The exciting news is that a lot of great features have made the cut! Thanks to the tireless work of the paper authors and committee subgroup
Testing 3 Approaches for Optimizing the Performance of C++ Apps: LTO, PGO, and Unity Builds
Have you ever tried optimizing C++ app times? We tested link-time optimization (LTO), profile-guided optimization (PGO), and Unity (Jumbo) builds.
Parameter Hints and Type Hints
In this video, we show how CLion’s parameter hints and type hints help with reading and understanding C++ code, using a practical example. Parameter hints give the developer useful additional information about function calls, while type hints show deduced types in many different contexts. We show the various available features and configuration options that will help you work more effectively with hints in CLion. 00:00 Intro 00:19 Sample application 01:12 Parameter hints 02:30 Emplace_back example. Hints for non-const references 03:07 Disabling parameter hints and Exclude List 04:01 Type hi
Developing on Windows? CLion Windows Toolchains to the Rescue!
We recently released CLion 2021.3. As part of this update, we made it easier to configure Windows toolchains in CLion while making them more powerful at the same time. Check out this short video to learn about all the options that are available to you: 00:00 Intro 00:25 Bundled MinGW 01:21 Visual Studio toolchain with MSVC and Clang-cl 03:31 Working with Windows Subsystem for Linux (WSL) in CLion 04:24 Cygwin 05:20 System toolchain 06:16 Remote toolchain 08:59 Docker toolchain Your CLion team JetBrains The Drive to Develop
Watch Docker Toolchain in Action
We recently released CLion 2021.3. One of the most exciting new features in it is a new Docker toolchain that helps you compile, run, and debug your applications in Docker containers. Watch the video to learn more about it: 00:00 Intro 00:20 Preparing Docker with an `alpine` image 01:07 Creating Docker toolchain in CLion 03:40 Docker toolchain on Windows 04:32 WSL2 backend to run Docker 05:35 Docker plug-in Your CLion team JetBrains The Drive to Develop
Developing for ESP32 With CLion on Windows
This tutorial shows how to set up a project in CLion for ESP32 development on Windows, covering all the necessary steps in great detail.
7 Top Tips for Debugging C++
Today we have Greg Law with us. In this guest blog post, Greg will share a few top tips for debugging C++ code. Greg (@gregthelaw) is the co-founder and CEO at Undo. He is a programmer at heart, but likes to keep one foot in the software world and one in the business world. Greg finds it particularly rewarding to turn innovative software technology into real business development. Greg has over 20 years of experience in both academia and innovative startup software companies. Brian Kernighan famously said, “Everyone knows that debugging is twice as hard as writing a
CLion Debugging – Beyond the Basics – Part 3: Beyond Local
This if the third and final part of our Advanced Debugger series. If you haven't seen them, do catch: "Part 1: Suspended" and "Part 2: Dynamic" As well as the earlier, "Debugging Fundamentals" video. In this video we start by looking a direct access to the GDB or LLDB terminal, as well as running commands on start-up using .gdbinit or .lldbinit, then look at attaching to external processes and debugging on remote machines. We also look at debugging core dumps and running the debugger with root privileges. We hope you have enjoyed this series and have learnt some ways to make your
Tutorial: Using nRF52 With nRF Connect SDK, CMake, and CLion
Nearly a year ago, our guest Nick Brook, founder at NRB Tech, explained how to use CLion for nRF52. Today, Nick is back with a new tutorial focused on using CMake-based nRF Connect SDK in CLion. Read this tutorial from Nick and give it a try with CLion! IoT consultant and founder at NRB Tech Nick founded NRB Tech in 2018 to build useful and sustainable IoT (Internet of Things) products through a combination of in-depth hardware, software, and user experience expertise. Previously, we established how it is possible to use Nordic's nRF5 SDK with CMake and CLion. In April 2020, Nordic rele
CLion Debugging – Beyond the Basics – Part 2: Dynamic
Following up on "Part 1: Suspended", of our Advanced Debugger series, Part 2 focuses on the dynamic part of working with breakpoints, watchpoints and setting the execution point. Because this an advanced series, we look beyond simply setting and removing breakpoints, and take a look at the different types of breakpoints we support, as well as all the options along with them. In many cases your breakpoints may not even need to break at all! Watchpoints let you break when data changes - or even when it is read. And being able to skip over lines of code - or even go back - by setting the executi