Understanding the Relationship Between GCC, CMake, Make, and Ninja

Understanding the Relationship Between GCC, CMake, Make, and Ninja

1. The Birth of GCC! In 1985, on a dark night where one could hardly see their hand in front of their face, a bearded, short-statured man with long, unkempt hair began to write a C language compiler. This man later became known as the “greatest programmer” and the “father of free software,” Richard Stallman. … Read more

GCC Programming: An Overview of Languages and Libraries

GCC Programming: An Overview of Languages and Libraries

GCC programming refers to programming languages based on the GCC compiler. You can design programs in any language that GCC supports. As can be seen from the image above, GCC programming involves the integration of three major languages under the LINUX system: C, C++, and assembly (ASM). The C language involves differences between the standard … Read more

Is Clang Better Than GCC? Google’s Kernel Developers Build Kernel with Clang

Is Clang Better Than GCC? Google's Kernel Developers Build Kernel with Clang

(Click the public account above to follow quickly) Source: Solidot www.solidot.org/story?sid=54012 If you have good articles to submit, please click → here for details At the Linux Plumbers Conference, Google’s kernel developers Greg Kroah-Hartman and Nick Desaulniers presented the progress of building the kernel with Clang. Desaulniers stated that today’s Android user space is built … Read more

Exploring the Rust Compiler: GCC vs LLVM

Exploring the Rust Compiler: GCC vs LLVM

The Rust compiler uses a borrow checker to optimize code performance and memory management. Rust code is compiled using the official compiler rustc. rustc uses LLVM optimizations on the backend to convert high-level Rust code into low-level machine code. However, a new GCC frontend called gccrs has recently emerged as an alternative to the rustc … Read more

Understanding GCC From a Java Programmer’s Perspective

Understanding GCC From a Java Programmer's Perspective

Source | Low Concurrency Programming Author | Flash Player As a Java programmer, I always forget the basic usage of gcc and am not very familiar with it. Today, this article records the basic knowledge of gcc in the simplest way. The Compilation Process Write a hello.c code. #include <stdio.h> #define STR "hello world\n" void … Read more

The Dance of Compilation: C/C++ and GCC Collaboration

The Dance of Compilation: C/C++ and GCC Collaboration

On the modern stage of computing, programming languages are like dancers, while compilers are the choreographers guiding them from behind the scenes. Every piece of code written is like a carefully designed dance. On this stage, C language and GCC (GNU Compiler Collection) are a classic duo. Together, they perform a magnificent dance of compilation, … Read more

Common Linux GCC Commands

Common Linux GCC Commands

(Click the public account above to quickly follow) Source: ggjucheng Link: http://www.cnblogs.com/ggjucheng/archive/2011/12/14/2287738.html 1 Introduction The meaning of GCC is just GNU C Compiler. After so many years of development, GCC now supports not only C language; it also supports Ada, C++, Java, Objective C, Pascal, COBOL, and even functional and logic programming languages like Mercury, … Read more

What Are GCC and G++? Understanding Their Differences

What Are GCC and G++? Understanding Their Differences

Source: C Language Chinese Network Editor: strongerHuang As of September 2020, the GCC compiler has been updated to version 10.2, and its functionality has expanded from initially only compiling C language to now supporting multiple programming languages, including C++. In addition, the current GCC compiler also supports compiling programs in Go, Objective-C, Objective-C++, Fortran, Ada, … Read more

Introduction to Multicore Debugging and Basic Operations with IAR

Introduction to Multicore Debugging and Basic Operations with IAR

In the process of project development, different chip platforms may use different compilation and debugging environments. Taking compilers as an example, commonly used ones include Tasking, Hightec, GreenHills, and IAR. In addition, there are various types of debuggers and emulators. Therefore, familiarizing oneself with the software/hardware environment used is a fundamental skill for software development … Read more