Understanding Makefile

Understanding Makefile

Understanding Makefile Recently, I have been looking at some content related to network programming, where the project directory and the contents of the <span>makefile</span> are as follows: server: g++ server.cpp -o server && g++ client.cpp -o client Since I did not understand the meaning of this, I was wondering why the <span>server</span> is needed. I … Read more

Solutions for GCC Errors

Solutions for GCC Errors

This error indicates that the system cannot recognize the gcc command, which is usually due to the GCC compiler not being installed or not being added to the system PATH environment variable. Here are the solutions: ### 1. Install MinGW-w64 (GCC environment for Windows) “`bash # 1. Download the MinGW-w64 installer # Visit https://winlibs.com/ to … Read more

Step-by-Step Guide to Installing OpenSSH 10.0 on Kali GNU/Linux Roll

Step-by-Step Guide to Installing OpenSSH 10.0 on Kali GNU/Linux Roll

As of now (April 2025), OpenSSH 10.0 has been officially released. This update removes the outdated DSA signatures, enables key exchange algorithms with quantum protection by default, and improves the behavior of scp/sftp and the security of sshd. The configuration file now supports more flexible conditional matching, providing a smoother experience. In summary: more secure, … Read more

Understanding the Four Stages of C Language Compilation and Linking: Preprocessing, Compilation, Assembly, and Linking Revealed!

Understanding the Four Stages of C Language Compilation and Linking: Preprocessing, Compilation, Assembly, and Linking Revealed!

Hello everyone, I am Xiaokang. Do you remember the first line of code you typed? printf("Hello, World!\n"); You clicked “Run”, and then magically “Hello, World!” appeared on the screen. But have you ever wondered what happens at that moment when you click “Run”? How do those characters you typed turn into instructions that the computer … Read more

CMake Insights: A Case Study with FAST-LIO

CMake Insights: A Case Study with FAST-LIO

Review: Why do we use Make and CMake tools? The main reasons are to automate the build process, manage dependencies, and simplify cross-platform development for complex project compilation requirements: Large C++ projects often consist of multiple source files, header files, and library dependencies, making manual compilation commands (like <span>g++</span>) error-prone and inefficient. Dependency Management: Build … Read more

Learning Makefile

Learning Makefile

GDB Debugging Tool Common commands for GDB debugging: gcc -g main.c -o main Common commands: help bt Show the call stack info locals Show local variables break main.c:10 Set a breakpoint at line 10 next Execute the next line list List source code continue Continue execution print Print variable value start Restart program execution delete … Read more

Can Programmers Who Don’t Understand Makefile Still Write Code?

Can Programmers Who Don't Understand Makefile Still Write Code?

Introduction: Tired of Typing Compilation Commands? It’s Time to Learn Automation! Hello everyone, I am Xiaokang! Last time we talked about GCC, G++, and GDB, clarifying how these tools are used in C/C++ development. With them, you can happily compile and debug your code. But let me ask you, do you manually type the <span>gcc</span> … Read more

Understanding the Make Tool and Makefile in C Programming

Understanding the Make Tool and Makefile in C Programming

Compiled languages require compilation before execution. This is seen as an advantage by some, as it allows for syntax checks and other information verification during the compilation process, helping to avoid basic errors. Additionally, the compiled code can run faster. However, others view this as a disaster. Often, this is not due to any other … Read more

Three Questions About Makefile in Linux

Three Questions About Makefile in Linux

(This image is sourced from the internet. If there is any infringement, please contact for removal.) What is a makefile? A makefile is a file used to describe how to compile and link a program. It contains rules for compilation and linking, dependencies, target files, and other information. By writing a makefile, you can automate … Read more

Automatically Generating Makefile Files

Automatically Generating Makefile Files

For larger projects, manually writing Makefile files can be very challenging. Firstly, the structure of Makefile files is complex, and secondly, they are often constrained by the development environment. If the environment parameters differ or paths change, modifications to the Makefile may be necessary to adapt to these changes. Autotools is a suite of tools … Read more