Essential Guide to Managing C++ Projects with CMake

1. Background CMake is a product derived from the development of several toolkits (VTK) by Kitware and some open-source developers, ultimately forming a system and becoming an independent open-source project. Its official website is cmake.org, where you can find more information about CMake. It is a cross-platform build tool that can describe the build process … Read more

CMake Configuration Files in CLion

The settings required to build a CMake project are consolidated into a CMake configuration file. It includes the toolchain and build type, as well as CMake options such as generators and environment variables. You can configure multiple configuration files for a project to build targets with different compilers or different settings. To set up a … Read more

Design Concepts and Usage of Modern CMake Tools

Link: https://ukabuer.me/blog/more-modern-cmake/ For C/C++ developers, managing projects often becomes quite tricky when it comes to complex third-party dependencies, especially when cross-platform development is required. CMake, as a cross-platform build process management tool, provides mature solutions for finding and introducing third-party dependencies, creating build systems, testing programs, and installation. By writing a CMakeLists.txt file once and … Read more

Linux Software Package Management: RPM

1 Overview In our daily development and operations work, we encounter various software packages; software packages can be broadly divided into two categories: binary files, such as (exe, rpm, bin, etc.); the other category is source files (various tarballs). This article will introduce the most commonly used RPM software package in Linux systems, discussing the … Read more

Using SystemTap to Trace Custom Kernel Modules

One Background After reading the article “Dynamic Tracing Technology Discussion” (https://blog.openresty.com.cn/cn/dynamic-tracing/), I thought about using SystemTap to trace my own developed kernel module. However, the official documentation of SystemTap (https://sourceware.org/systemtap/documentation.html) only gives examples of tracing kernel modules by using drivers from the kernel source tree, for example: probe module(“ext3”).function(“*”) { }, and indeed, the verification … Read more

Essential Guide for CMake Beginners to Master Build Skills

Linux | Red Hat Certified | IT Technology | Operations Engineer 👇1000 people technical communication QQ group, note 【Official Account】 for faster approval 1. CMake Installation 1. Download the CMake installation package from the official website, I downloaded v3.26 wget https://github.com/Kitware/CMake/releases/download/v3.26.0-rc4/cmake-3.26.0-rc4-linux-x86_64.sh 2. Locate the downloaded .sh file and execute the script using bash bash cmake-3.26.0-rc4-linux-x86_64.sh … Read more

Why Is The Browser So Complex With Millions Of Lines Of Code?

https://www.zhihu.com/question/290767285/answer/1200063036 Author: Longquan Temple Sweeping Monk (Chief Browser Architecture Expert, Author of the World’s Smallest Chromium Kernel – Miniblink), authorized for reprint Let’s take a look at the open-source Chromium; it is indeed extremely complex. The source code alone is over ten gigabytes. We can’t help but wonder, what exactly is in Chromium? How can … Read more

Basic Framework of Linux Kernel Modules

The writing of Linux kernel modules intimidates many people, but it is actually not that difficult or complicated. Here’s a basic framework to help those with a little knowledge get started quickly. 1. Basic Framework (Before Kernel 2.3.13) #include<linux/kernel.h> #include<linux/module.h> int init_module(void){ pr_info("hello module.\n"); return 0; } void cleanup_module(void){ pr_info("hello end.\n"); } MODULE_LICENSE("GPL"); #include<linux/module.h> int … Read more

A Concise Guide to Managing C++ Projects with CMake

1. Background CMake is a product developed by Kitware and some open-source developers during the development of several toolkits (VTK), which ultimately formed a system and became an independent open-source project. Its official website is cmake.org, where more information about CMake can be found. It is a cross-platform build tool that can describe the build … Read more