CLion Tutorial – CMake Performance Analysis

CLion Tutorial - CMake Performance Analysis

Through CMake performance analysis, you can identify the most time-consuming operations when reloading projects and optimize your CMake scripts when necessary. Performance analysis is applicable to CMake version 3.18 and above. CMake stores results in Google’s tracing event format. CLion’s integrated features can help you run traces and visualize the results. Performance analysis is not … Read more

Essential Guide to Managing C++ Projects with CMake

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

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

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

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

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

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?

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