Run CMake executable targets via CMakeA tiny CMake helper that builds a source file and adds a matching run-target for it.Engineering the CraftC++ Blogs, the last 7 days
Saturday, May 23, 2026
Run CMake executable targets via CMakeA tiny CMake helper that builds a source file and adds a matching run-target for it.Engineering the Craft
Parsing IPv6 Addresses Crazily Fast with AVX-512Every machine connected to the Internet has an address called an IP address. Originally, these addresses were 32-bit integers (IPv4), giving a theoretical maximum of about four billion distinct addresses. We are all familiar with these addresses (e.g., 192.168.0.0). There was a big fuss about how we would run out of addresses. It never happened … Continue reading Parsing IPv6 Addresses Crazily Fast with AVX-512Daniel Lemire's blog
Does bulk memmove speed up `std::remove_if`? (No.)This morning I was reading the umpteenth std-proposals thread proposing some variety of unstable_remove and it occurred to me that one odd thing about a swap-and-pop-based unstable_remove is that it tends to replace large swaths of contiguous removals by reversing the elements that are kept. For example (Godbolt):Arthur O’DwyerIf this page is useful, please consider your support
Friday, May 22, 2026
Why do you say that a COM STA thread must pump messages if I see sample code creating STA threads and not pumping messages?You need to pump messages when idle, but maybe you are never idle. The post Why do you say that a COM STA thread must pump messages if I see sample code creating STA threads and not pumping messages? appeared first on The Old New Thing .The Old New Thing
Qt Extension 1.14.0 for VS Code ReleasedWe're excited to announce the release of version 1.14.0 of the Qt Extension for Visual Studio Code! This release introduces QML Live Preview with hot-reload capability, bringing real-time feedback directly into your editor.Qt Blog
Only 17% of all 64-bit Integers are products of two 32-bit integersIn software programming, the product between two integers is often computed to a fixed number of bits with overflow. Consider 8-bit integers. If you multiply 127 by 127, you get back the number 1 as an 8-bit unsigned integer, with an overflow. The actual full product is 16129. To represent 16129, you typically use 16 … Continue reading Only 17% of all 64-bit Integers are products of two 32-bit integersDaniel Lemire's blog
The _Book of St Albans_ (1486)This week I read James Lipton’s An Exaltation of Larks; or, The Venereal Game (2nd edition, 1977), a discursive collection and celebration of “terms of venery” — the collective nouns like “school of fish” and “pride of lions” that were (so the story goes) mostly invented by medieval hunters who wanted to have their own proper jargon to distinguish the real hunters from the dilettantes.Arthur O’DwyerThursday, May 21, 2026
How do I use Win32 structures from the Windows Runtime?Trick question: You can't. But maybe you can fake it. The post How do I use Win32 structures from the Windows Runtime? appeared first on The Old New Thing .The Old New Thing
Exploring ref qualifiers in C++Meeting C++ blog
KDAB at Oxidize 2026, Berlin, September 14–16KDAB is co-hosting Oxidize 2026 in Berlin (September 14–16), the premier conference for engineers using Rust in production. KDAB engineers will lead a hands-on workshop on Rust/C++ interoperability, while CCO Till Adam holds a panel on the evolving Rust job market.KDAB
Improving Accessibility in JetBrains IDEs: What’s New and What’s Next in 2026Making software accessible often comes down to removing small but repeated points of friction in everyday workflows. Today, on Global Accessibility Awareness Day, we’re sharing recent improvements in JetBrains IDEs across several areas: compatibility with assistive technologies on various platforms, keyboard navigation, and non-visual feedback. Some of these improvements are already available, and some are […]CLion : A Cross-Platform IDE for C and C++ | The JetBrains BlogWednesday, May 20, 2026
The Empty ChairThe WG21 Governance CrisisMy Very Best AI Slop
Medical Image AI Researchers Need a Secure Annotation PlatformMedical imaging AI research often runs into a familiar bottleneck: the data exists, but security requirements make it unusable. Sensitive datasets are: Over the past three years, Kitware has worked closely on a self-hosted medical image annotation deployment designed to address this challenge. The result is a secure platform that keeps sensitive data fully within […]Kitware Inc
The classic TreeView control lets me sort by name or by lParam, but why not both?You need to arrange to get one from the other. The post The classic TreeView control lets me sort by name or by lParam, but why not both? appeared first on The Old New Thing .The Old New Thing
Qt for Android Automotive 6.11.1 is releasedThe latest patch release of Qt for Android Automotive 6.11.1 was released. This release is based on Qt 6.11.1 with around 450 bug fixes, security updates, and other improvements within Qt base . You can check out the exact changes done in Qt in the documentation . There are no major changes in Qt for Android Automotive itself.Qt Blog
(Maybe) All The Contract PapersSome people might say that the upcoming {cpp} contracts feature is one of the best researched topics in {cpp}. I am not sure I agree, but a lot of work has gone into it.Engineering the Craft
A Cross-Platform C# UI Framework via Qt’s Bridging TechnologyEvery C# UI framework comes with a familiar pattern: Windows-first, Linux absent, roadmap uncertain. WPF stalled, MAUI skipped Linux, WinUI 3 stays Windows-native. At the same time, demand for embedded Linux grows and C# teams feel the lack of good UI alternatives for C# on Linux. Qt Bridges, a bridging technology in public beta for C#, provides access to a UI framework that allows preserving your existing C# codebase while utilizing Qt Quick’s feature-rich UI libraries and APIs, hardware acceleration, and cross-platform capability.Qt Blog
Qt Bridges: Public Beta for the C# Bridge Is Out!Qt Bridges is a project we have been developing since 2025 to bring Qt’s UI framework capabilities to other programming languages, without going through the full set of bindings. The focus is on the interaction with backend data objects, seamlessly integrated as QML components in a Qt Quick interface.Qt Blog
The SARIF Viewer Is Now Available in CLion 2026.1.2Starting with v2026.1.2, CLion includes the SARIFThe Static Analysis Results Interchange Format. Viewer, available out of the box. This is especially useful for embedded and automotive teams, for whom external static analysis is often part of the compliance toolchain. If you use tools that produce SARIF reports – such as Parasoft C/C++test, Clang Static Analyzer, […]CLion : A Cross-Platform IDE for C and C++ | The JetBrains Blog
C++ Insights Episode 74: Why move requires noexcept in C++20I published a new C++ insights episode: Why move requires noexcept in C++20. In this episode, you'll learn why noexcept is crucial for move operations of a class. AndreasAndreasFertig.comTuesday, May 19, 2026
Static Analysis for C++ with CMake and PVS-StudioStatic analysis is one of the most practical ways to improve the quality of a C++ codebase before bugs escape into reviews, releases, or user reports. This matters in any project, but it matters even more in open source, where code is maintained over time by contributors with different levels of familiarity with internal invariants, parser assumptions, and platform-specific behavior.Kitware Inc
Introducing Sample Profile Guided Optimization in MSVCProfile Guided Optimization (PGO) has long been one of the most powerful tools in the MSVC compiler’s arsenal for improving the runtime performance of C and C++ applications. By using execution profile data collected from representative workloads, PGO enables the compiler to make smarter decisions about inlining, code layout, and hot/cold code separation – decisions […] The post Introducing Sample Profile Guided Optimization in MSVC appeared first on C++ Team Blog .C++ Team Blog
What is the history of the ERROR_ARENA_TRASHED error code?The storage control blocks were destroyed. The post What is the history of the ERROR_ ARENA_ TRASHED error code? appeared first on The Old New Thing .The Old New Thing
🐝 VESPA 1.0 is out now!We are excited to announce that VESPA is mature enough for its official 1.0 release! VESPA (VTK Enhanced with Surface Processing Algorithm) is a VTK module and a ParaView plugin dedicated to mesh and surface processing. VESPA brings the power of the CGAL (Computational Geometry Algorithms Library) library into VTK and ParaView workflows. By wrapping […]Kitware Inc
Introducing Qt's GUI Design Skill: Design for Developers in Agentic WorkflowsWhy UI Developers Need Sometimes Design Support - and How the Skill Provides It Not every UI developer has a UX designer at their disposal. Some R&D teams, especially in small and medium-sized businesses, need to build a user interface without the help of human UI design experts.Qt Blog
Just released: the library announced in Anthony Williams Meeting C++ 2025 opening keynoteMeeting C++ blog
NuGet PackageReference for C++ Projects in Visual StudioNative C++ projects (.vcxproj) now support NuGet PackageReference, the same modern package management experience .NET developers have used for years. Available as an experimental feature in Visual Studio 2026 version 18.7. The post NuGet PackageReference for C++ Projects in Visual Studio appeared first on C++ Team Blog .C++ Team BlogMonday, May 18, 2026
SIMD-accelerated integer-to-string conversionConverting a 64-bit integer to its decimal string representation is a mundane task that shows up everywhere: logging, JSON serialization, CSV output, debug prints, etc. In C++, you might use std::to_chars, sprintf, or some library routine. How do these functions work? At a high level, they repeatedly divide by ten. Start with your integer k. … Continue reading SIMD-accelerated integer-to-string conversionDaniel Lemire's blog
CVPR 2026Kitware is proud to participate in the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) 2026, one of the premier venues for cutting-edge research in computer vision and machine learning. Building on our long-standing involvement in the CVPR community, we look forward to sharing our latest work, connecting with collaborators, and engaging with researchers advancing the state of the art.Kitware Inc
VTK Hackathon – May 13, 2026On May 13, 2026, the Visualization Toolkit (VTK) developer community gathered for a hands-on hackathon. As an open source project, VTK relies on the contributions of its community, and this event highlighted the collective effort to maintain and improve the toolkit. The objectives for the day included reducing technical debt, triaging issues, stabilizing builds, and […]Kitware Inc
Just shows that nobody cares about debugging the parity flag any moreReported incorrectly since the day it was written. The post Just shows that nobody cares about debugging the parity flag any more appeared first on The Old New Thing .The Old New Thing
Introducing the AI Code Documentation Skills for QtWriting reference documentation for Qt/C++ and QML code has traditionally meant either maintaining hand-written Markdown files that drift out of sync with the source or running toolchains that require annotated comment blocks throughout the codebase. The Qt documentation skills give developers a third option for higher productivity: point an AI agent at your source files and get structured, developer-ready Markdown reference docs in seconds.Qt Blog
