Objects lifetime management is one of the critical elements in C++ development, but corresponding tools for debugging are rather scarce. This article described a non-invasive to track the invocation of ctors and dtors of classes in C++, which is enabled with the decorator pattern.
Placement new is a rarely used feature in C++. This article gives a brief introduction to this feature, and shows how it can be helpful in the implementation of circular linked lists.
An open-source RISC-V 64 single board computer under 10$ based on Allwinner D1s SoC
A single-board computer based on Mediatek MT76x8 Wi-Fi SoC
Lightweight, fully-customizable log library for C++17. Github repository Highlights Standard streams style operations Fully customizable message format with simple interface Level and predicate based conditional logging Quick Start #include "llogger.h" llogger ll(std::cout, llogger::info); ll(llogger::warning) << "Weather control device detected."; // [ 2021-10-04 22:40:47 ] WARNING: Weather control device detected. Conditional Logging Values in the log are costly to be eva...
Tiny Breakout Board for CH551G/CH552G/CH554G 8-bit MCUs.
Type a line of C++ code, then press enter and get the result - does this sounds crazy? Well, not so crazy with the power of the novel C++ interpreter, Cling.
Get the pin assignment of a board without destroying it.
Typically, a D flip-flop can only be triggered by either the leading edge or the trailing edge of the clock signal. In some scenario, a flip-flop can be triggered by both edges is required. In this article, an implementation of such flip-flop consists only 2 7400 ICs is proposed. The idea is to use 2 D flip-flops in which one is triggered by the leading edge and the other is triggered by the inverted clock signal. The outputs of these two flip-flops are multiplexed according to the clock sig...
A three.js demo to visualize high-dimensional geometries like hypercubes.