I opened a file with FILE_FLAG_DELETE_ON_CLOSE, but now I changed my mindYou can't change your mind, but you can do it a different way. The post I opened a file with FILE_ FLAG_ DELETE_ ON_ CLOSE , but now I changed my mind appeared first on The Old New Thing .The Old New ThingC++ Blogs, the last 7 days
Monday, July 6, 2026
I opened a file with FILE_FLAG_DELETE_ON_CLOSE, but now I changed my mindYou can't change your mind, but you can do it a different way. The post I opened a file with FILE_ FLAG_ DELETE_ ON_ CLOSE , but now I changed my mind appeared first on The Old New Thing .The Old New ThingIf this page is useful, please consider donating a coffee
Sunday, July 5, 2026
Friday, July 3, 2026
Thursday, July 2, 2026
Pure Virtual C++ 2026 Talks AnnouncedThe featured talks for Pure Virtual C++ 2026 are here! Join us on July 21 for a free, one-day virtual conference for the whole C++ community. The post Pure Virtual C++ 2026 Talks Announced appeared first on C++ Team Blog .C++ Team Blog
The case of the thread executing from an unloaded third-party DLLOops, I didn't realize that I was still doing that. The post The case of the thread executing from an unloaded third-party DLL appeared first on The Old New Thing .The Old New ThingWednesday, July 1, 2026
CMake 4.4.0-rc3 is ready for testingThe third CMake 4.4.0 release candidate!Kitware Inc
The Political Economy of C++ KeywordsClasses are an inevitable human condition.My Very Best AI Slop
A Cross-Platform Rust UI Framework via Qt’s Bridging TechnologyRust has achieved something extraordinary: it genuinely excites people to write software. But when it comes to building a real user interface, the ecosystem is still finding its footing. There are numerous options to pick your Rust UI framework from, including those gaining traction, like Iced and egui. Most of the available UI frameworks, however, are still establishing themselves in production environments and fall short in feature-richness. Qt Bridges, a bridging technology in public beta for Rust, brings something different to the table: over three decades of real-world use, commercial support, and a framework that already runs in automotive dashboards, medical devices, and industrial systems worldwide. Qt Bridge for Rust makes that maturity available to Rust developers, providing access to a UI framework that lets you keep your Rust codebase while using Qt Quick’s feature-rich UI libraries and APIs, hardware acceleration, and genuine cross-platform support.Qt Blog
Qt Bridges: Public Beta for the Rust 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
It rather involved being on the other side of this airtight hatchway: Changing administrative settingsUnlocking the door from the inside. The post It rather involved being on the other side of this airtight hatchway: Changing administrative settings appeared first on The Old New Thing .The Old New Thing
Improving Embedded Software Quality With Parasoft C/C++test, CLion, and AIEmbedded software development comes with a unique set of pressures: strict safety and security standards, complex toolchains, and the constant challenge of catching defects as early as possible. Starting with CLion 2026.1.2, you can open SARIF findings from Parasoft C/C++test analyses for standards such as MISRA C/C++, AUTOSAR C++14, CERT C/C++, and CWE directly in […]CLion : A Cross-Platform IDE for C and C++ | The JetBrains Blog
Some recent discoveriesFirst images of PHerc. 1667. When Vesuvius buried Herculaneum, it turned many papyrus scrolls in the Villa dei Papiri to burnt hunks of carbon without destroying their physical structure. Since the 2010s (or earlier?), people have tried to non-invasively image what remains of the scrolls. In June 2026, the latest “Vesuvius Challenge” prize was awarded to a team who successfully imaged the first “complete” scroll. The team’s report (“Complete virtual unwrapping and reading of a rolled Herculaneum papyrus”, Angelotti et al., 2026) points out that the scroll is even less “complete” than it used to be: invasive efforts in the late 20th century had already reduced it from about 14 grams of carbonized gunk to about 6 grams. The group’s full transcription consists of only 300 to 400 complete words. They identify PHerc. 1667 as some sort of philosophical treatise — unsurprising, as many of the scrolls that could already be deciphered turned out to be works of Philodemus. Contrary to some media reports, the title of PHerc. 1667’s work is unknown; but a separate finding reported in the same paper identifies PHerc. 139 as book 8 of Philodemus’s On gods (περὶ θεῶν, book Η).Arthur O’Dwyer
Hub is hereDuring Q2 2026, I’ve been working in the following areas: boost::container::hub The Boost official review took place April 16-26. The library was accepted as part of Boost.Container. Many thanks to the review manager, Ion Gaztañaga, and all the people who participated: Arnaud Becheler, Matt Bentley, Matt Borland, Dominique Devienne, Peter Dimov, Emil Dotchevski, Alexander Grund, Andrzej Krzemieński, Christian Mazakas, Peter Turcan. During April-June I implemented the feedback received (PR#20), and after that Ion took over and migrated the code and documentation to Boost.Container (adding some interesting performance improvements that I helped a bit with). boost::container::hub will be released in Boost 1.92 (August 2026), after which the original repo will be deprecated or removed. Boost.Unordered Added interoperability with C++20 ranges to all the containers in the library (PR#355). Reviewed and merged PR#348 from Daniel Král (performance issue with closed-addressing containers when rehashing at very large container sizes). Written maintenance fixes PR#346, PR#351, PR#352, PR#353, PR#354. Addressed documentation issues #349, #350. Boost.MultiIndex Fancy pointer support has been extended so that multi_index_container iterators now store references to the elements through the allocator’s pointer type (PR#100). In particular, this means that iterators can now be placed in shared memory using Boost.Interprocess allocators. Reviewed and merged PR#94 from Daniel Král (performance issue when rehashing at very large container sizes). Reviewed and merged PR#98 from Jonathan Wakely. Written maintenance fixes PR#97, PR#99. Boost.ICL As discussed in a previous entry, recent changes in libc++ v22 broke this library. These changes are related to the fact that non-heterogeneous lookup for associative containers is poorly specified in the C++ standard. I filed a LWG issue and defended a resolution with the LEWG that was consistent with the original semantic assumptions of Boost.ICL, but this resolution was not accepted (Brno, May 10). There was a fix on hold (PR#54) pending acceptance from ICL’s maintainer, but he’s been unavailable and in the end I requested write permission to the repo and merged the PR so that it makes it in time for Boost 1.92. The PR includes some additional fixes not related to the core issue. Boost.Bloom Reviewed and merged PR#46 from Jonathan Wakely. Written maintenance fix PR#47. Boost.Graph I had the honor to participate remotely in the Boost.Graph Workshop held in Paris, May 6, where I presented some simple ideas towards modernization of BGL API. Support to the community I’ve been helping a bit with Mark Cooper’s very successful Boost Blueprint series on X. Supporting the community as a member of the Fiscal Sponsorship Committee (FSC).The C++ AllianceTuesday, June 30, 2026
2026 mid-year link clearanceMade it to another midpoint. The post 2026 mid-year link clearance appeared first on The Old New Thing .The Old New Thing
A compatibility note on the abuse of Windows window class extra bytesFinding an illicit place to hide data. The post A compatibility note on the abuse of Windows window class extra bytes appeared first on The Old New Thing .The Old New Thing
