LLILC详解,基于LLVM的.NET Core编译器
程序员文章站
2022-06-02 13:55:51
...
介绍
LLILC由JIT和AOT编译器组成,是基于LLVM的.NET Core编译器。目的是创建一组跨平台.NET代码生成工具。LLILC是一个将msIL (.NET)代码编写进本地二进制的开源项目,使用LLVM框架。
支持平台
支持Windows、Linux与Mac OS X
对于Windows,所有命令都从一个Windows命令提示符输入,并且c:\dotnet可能会取代您所选择目录下面的所有命令。准备工作点此查看。
对Linux和OS X的支持仍处于早期阶段。所以这里的推荐流程会显得粗糙些,点此查看。
开发环境和测试工具
开发环境和回归测试工具的创建是用来帮助标准化一些常见的开实践和提供回归测试能力,脚本位于LLILC\test\LLILCEnv.ps1。
1.先决条件
安装以下软件:Visual Studio 12.0、Git、CMake、Python、GnuWin32和DiffMerge
创建LLVM与LLILC本地存储库
一个用于LLVM构建目录的默认位置
在引擎盖下,LLICL使用CoreCLR的测试资源,并且一个CoreCLR运行时与LLILC JIT匹配
2.环境初始化
创建一个快捷方式,例如:C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -nologo -noexit -executionpolicy remotesigned -c . { C:\yourpathto\LLILC-init.ps1 Ret title "LLILC Term" }
LLILC-init.ps1自定义环境变量,如果LLILC资源在tree中,它最终应该调用“& $Env:LLVMSOURCE\tools\LLILC\test\LLILCEnv.ps1”,如果在tree外,则调用“& $Env:LLILCSOURCE\test\LLILCEnv.ps1”。
LLILCEnv.ps1验证你的软件安装和环境变量。它会完成其余开发环境和测试工具的设置,包括获取或更新CoreCLR测试资产等。
测试创建、用例等更多细节点此查看。
贡献
LLILC刚刚建起来,目前只有几个测试工具,还有很多地方需要得到支持。GitHub上的地址点此进入。
文档
1.开发者指南
Windows准备指南
Linux与OS X准备指南
构建与测试
贡献指南
LLILC编码常规和注释风格
2.结构
LLILC结构概览
3.在LLVM支持的管理结构
LLILC MSIL阅读器
LLILC中的GC支持
LLILC中的EH支持
4.其他资源
dotnet/CoreCLR
dotnet/CoreFx
LLILC由JIT和AOT编译器组成,是基于LLVM的.NET Core编译器。目的是创建一组跨平台.NET代码生成工具。LLILC是一个将msIL (.NET)代码编写进本地二进制的开源项目,使用LLVM框架。
支持平台
支持Windows、Linux与Mac OS X
对于Windows,所有命令都从一个Windows命令提示符输入,并且c:\dotnet可能会取代您所选择目录下面的所有命令。准备工作点此查看。
对Linux和OS X的支持仍处于早期阶段。所以这里的推荐流程会显得粗糙些,点此查看。
开发环境和测试工具
开发环境和回归测试工具的创建是用来帮助标准化一些常见的开实践和提供回归测试能力,脚本位于LLILC\test\LLILCEnv.ps1。
1.先决条件
安装以下软件:Visual Studio 12.0、Git、CMake、Python、GnuWin32和DiffMerge
创建LLVM与LLILC本地存储库
一个用于LLVM构建目录的默认位置
在引擎盖下,LLICL使用CoreCLR的测试资源,并且一个CoreCLR运行时与LLILC JIT匹配
2.环境初始化
创建一个快捷方式,例如:C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -nologo -noexit -executionpolicy remotesigned -c . { C:\yourpathto\LLILC-init.ps1 Ret title "LLILC Term" }
LLILC-init.ps1自定义环境变量,如果LLILC资源在tree中,它最终应该调用“& $Env:LLVMSOURCE\tools\LLILC\test\LLILCEnv.ps1”,如果在tree外,则调用“& $Env:LLILCSOURCE\test\LLILCEnv.ps1”。
LLILCEnv.ps1验证你的软件安装和环境变量。它会完成其余开发环境和测试工具的设置,包括获取或更新CoreCLR测试资产等。
测试创建、用例等更多细节点此查看。
贡献
LLILC刚刚建起来,目前只有几个测试工具,还有很多地方需要得到支持。GitHub上的地址点此进入。
文档
1.开发者指南
Windows准备指南
Linux与OS X准备指南
构建与测试
贡献指南
LLILC编码常规和注释风格
2.结构
LLILC结构概览
3.在LLVM支持的管理结构
LLILC MSIL阅读器
LLILC中的GC支持
LLILC中的EH支持
4.其他资源
dotnet/CoreCLR
dotnet/CoreFx