How Assembly Language Is Translated to Machine Language

How Assembly Language Is Translated to Machine Language

A computer is composed of many logic gate circuits and some electronic components. Different hardware configurations have different instruction sets, which can be represented by mnemonics, known as assembly language. Early assembly languages could be manually translated into machine language by professionals, and then these machine languages were input into the computer for execution and … Read more

Introduction to Assembly Language: A Machine-Oriented Programming Language

Introduction to Assembly Language: A Machine-Oriented Programming Language

Assembly language is a low-level language used for electronic computers, microprocessors, microcontrollers, or other programmable devices, also known as symbolic language. In assembly language, mnemonics replace the operation codes of machine instructions, and address symbols or labels replace the addresses of instructions or operands. Assembly language corresponds to different machine language instruction sets on different … Read more

Deploying LLaMA2 Model on Jetson Cluster

Deploying LLaMA2 Model on Jetson Cluster

In the group, developers often mention that they have several NVIDIA Jetson boards and wonder if they can “combine” them for use. However, I also mentioned that you cannot expect the performance of a cluster to exceed that of a single, more powerful machine, which led to some questions: Today, I saw a tutorial titled … Read more

CMake: Detecting Environment

CMake: Detecting Environment

Introduction: Through previous studies, we have mastered the basic knowledge of CMake and C++. Although CMake is cross-platform, sometimes the source code is not entirely portable. To ensure that our source code can be cross-platform, configuring and/or building the code according to different platforms is an essential part of the project build process. ✦ Detecting … 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

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

Google Programmer Finds Learning Rust Easy

Google Programmer Finds Learning Rust Easy

Produced by | OSC Open Source Community (ID: oschina2013) Based on Google’s internal experiences with using Rust, they shared their insights on this “popular” programming language, including clarifications on common Rust myths. 1. Rust Requires At Least 6 Months to Learn Google refuted this claim. According to an internal survey, over 2/3 of respondents felt … Read more

Building A C# Compiler: Lexical Analysis To Code Generation

Building A C# Compiler: Lexical Analysis To Code Generation

C# Compiler Tutorial (1): Exploring Lexical Analysis Hello everyone! Today I want to explore a super interesting topic with you all — developing a simple compiler in C#! As the first tutorial, we will start with the basics of lexical analysis. Don’t be intimidated by the word “compiler”; follow me step by step, and you’ll … Read more

Implicit Type Conversion in C Language

Implicit Type Conversion in C Language

1.1 Definition Implicit type conversion, also known as automatic type conversion, is performed automatically by the compiler during the compilation process, without the need for the programmer to explicitly perform operations. 1.2 Type Conversion in Arithmetic Operations 1.2.1 Definition When values of different types participate in arithmetic operations, the compiler promotes the operand of the … Read more