Detailed Explanation of Inline Functions in C++

Detailed Explanation of Inline Functions in C++

A key feature of C++ is the inline function. Therefore, let’s first understand the usage and intended applications of inline functions. When a function is declared as an inline function, the compiler will replace the location of the function call with the definition of the inline function at compile time. Any changes to the inline … Read more

Understanding the Differences Between Clang and GCC

The main differences between Clang and GCC are as follows: Clang compiles faster than GCC, including time for preprocessing, syntax analysis, parsing, semantic analysis, and abstract syntax tree generation. Clang uses less memory than GCC. The intermediate products generated by Clang are smaller than those generated by GCC. Clang provides more user-friendly error messages than … Read more

Simple Use of GCC to Compile C Files in Keil Projects

Simple Use of GCC to Compile C Files in Keil Projects

It must be said that Keil seems to be the most widely used IDE among domestic users. After being acquired by ARM, the introduction of the Keil MDK development environment with ARMCC and other compilers has been well received by many ARM development engineers. The large user base (many of whom have transitioned from the … Read more

Detailed Explanation of Keil MDK Compiler Warnings and Errors

Detailed Explanation of Keil MDK Compiler Warnings and Errors

After working with microcontrollers, I transitioned to ARM and initially used the ADS 1.2 compiler. I used it for a while because the old program of the project I took over was compiled with ADS, and most of the department was using it. When learning about microcontrollers, I used the Keil C51 compiler, and the … Read more

How Programming Languages Are Implemented

How Programming Languages Are Implemented

Do you know how the programming languages you often use are implemented? Today, let’s talk about this question. Smart humans discovered that by combining simple switches, they could express complex boolean logic. Based on this, they built the CPU, which can only understand switches in a simple way, represented numerically as 0 and 1. The … Read more

Understanding Compiler Principles for Everyone

Understanding Compiler Principles for Everyone

Mathematics Algorithm Club Date : December 25, 2021 Total Words : 4255 words Source : Job Online Understanding the internal principles of compilers can help you utilize them more efficiently. Gradually delve into how programming languages and compilers work according to the order of compilation. This article contains numerous links, sample code, and charts to … Read more

Switching from C++ to Rust: A Significant Improvement in Work Experience!

Switching from C++ to Rust: A Significant Improvement in Work Experience!

Follow us丨Book giveaway at the end of the article I have been working professionally in C++ programming for over four years, but three months ago I found a new job that requires using Rust. I want to share my personal experiences and thoughts on switching between the two languages in this article. Disclaimer: This article … Read more

Dead Loop Hidden in Assembly Code

Dead Loop Hidden in Assembly Code

New User Registration for June Breadboard Community Get a Free IoT Learning Package The package includes: 1. 500 copies of “RT-Thread Device Driver Development Guide” 2. 16 lectures of RT-Thread online teaching courses 3. 10GB of IoT data downloads 👇 Scan to register and receive the package 👇 1 Introduction In my previous article, I … Read more

C Language and Assembly Correspondence Analysis Revealing Function Call Essence

C Language and Assembly Correspondence Analysis Revealing Function Call Essence

Recently, NetEase Cloud Classroom opened a course called Linux Kernel Analysis. I have always been interested in operating systems and the essence of computers, so I took a look. In the first class, the teacher asked students to write a blog about the first lesson as an assignment. I was quite surprised by this novel … Read more

Fundamentals of Language Processors

Fundamentals of Language Processors

2.2 Fundamentals of Language Processors A language processor is a type of system software that translates programs written in high-level languages or assembly languages into machine language programs so that they can run on computers. Language processors are mainly divided into three basic types: assemblers, compilers, and interpreters. 2.2.1 Basic Principles of Assemblers 1. Assembly … Read more