llvm入门
LLVM
is a project which provides a collection of a modular compiler and toolchain software and technologies. The name “LLVM” is not an acronym that is different from other IT and Opensource projects. LLVM has started a research project at the University of Illinois in order to create a compiler and tool-chain which supports both static and dynamic compilation for different programming languages. Even different programming languages like C, C++, Java, C#, Kotlin, Delphi, Rust, Ruby are supported the most popular programming languages are C and C++ for the LLVM compiler and tool-chain.
LLVM
是一个项目,提供了模块化编译器以及工具链软件和技术的集合。 名称“ LLVM”不是与其他IT和开源项目不同的首字母缩写。 LLVM已在伊利诺伊大学启动了一个研究项目,目的是创建一个支持不同编程语言的静态和动态编译的编译器和工具链。 甚至支持不同的编程语言,例如C,C ++,Java,C#,Kotlin,Delphi,Rust,Ruby,最受欢迎的编程语言是用于LLVM编译器和工具链的C和C ++。
LLVM硬件和操作系统支持 (LLVM Hardware and Operating System Support)
As an opensource project LLVM is supported in different operating systems, platforms, and hardware. LLVM can run on Linux, Solaris, FreeBSD, NetBSD, MacOSX, Windows operating systems. LVVM also supports different hardware and processor architectures like x86, amd64, x86_64, PowerPC, V9, ARM. For more specific hardware and operating support take a look following table.
作为一个开源项目,LLVM在不同的操作系统,平台和硬件中受支持。 LLVM可以在Linux,Solaris,FreeBSD,NetBSD,MacOSX,Windows操作系统上运行。 LVVM还支持不同的硬件和处理器架构,例如x86,amd64,x86_64,PowerPC,V9,ARM。 有关更具体的硬件和操作支持,请查看下表。
LLVM支持的编程语言(LLVM Supported Programming Languages)
As stated in the start LLVM supports a wide range of programming languages to compile and bind. Even some programming languages are not fully supported by the LLVM we will list the supported programming languages and support level and supported features.
如开头所述,LLVM支持多种编程语言进行编译和绑定。 LLVM甚至不完全支持某些编程语言,我们将列出支持的编程语言以及支持级别和支持的功能。
C
and C++
are the top programming languages for the LLVM. Even LLVM is created as a dynamic compiler and toolchain C and C++ are the main targets for support. Also, LLVM is developed with C++.
C
和C++
是LLVM的顶级编程语言。 甚至LLVM都是作为动态编译器创建的,工具链C和C ++是支持的主要目标。 此外,LLVM是使用C ++开发的。
Objective-C
is another completely supported programming language similar to the C and C++.
Objective-C
是另一种完全支持的编程语言,类似于C和C ++。
LLVM体系结构和组件 (LLVM Architecture and Components)
LLVM provides a complete architecture where there are different components and pieces to complete the picture. LLVM provides Front End, Passes, and Back End. The following graphic illustrates how the LLVM works on source code and generates executables and binaries.
LLVM提供了一个完整的体系结构,其中有不同的组件和片段来完成图像。 LLVM提供前端,通道和后端。 下图说明了LLVM如何在源代码上工作以及如何生成可执行文件和二进制文件。