阅读更多

0顶
0踩

编程语言

原创新闻 LLILC详解,基于LLVM的.NET Core编译器

2015-04-15 10:00 by 副主编 mengyidan1988 评论(0) 有3339人浏览
介绍

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
0
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 数据库设计,讲解业务实体对象到数据库表的映射关系。

    数据库设计,讲解业务实体对象到数据库表的映射关系。

  • 企业项目设计工具教程篇:如何执行业务流程映射

    Visual Paradigm是包含设计共享、线框图和数据库设计新特性的企业项目设计工具。Visual Paradigm公司在其核心产品Visual Paradigm for UML更新到v11.1的时候,把三个原始的系列产品(Agilian、Visual Paradigm for UML和Logizian)融合在一起,将最初为不同建模功能服务的多个独立产品整合成的一个产品,其名字被命名为Visual Paradigm——与公司的名字相同。现在你只需要这样单独的一款模型软件 Visual Paradigm就

  • 领域驱动设计--业务架构映射为应用架构(五)

    通过《多维度规划业务架构》,我们获得了由业务领域-业务组件-业务服务三个层次组成的业务架构。虽然是架构,但其本质仍然属于问题空间,其目的在于真实地探索问题空间,了解我们要解决什么样的问题。我们用到“分解”的方法,并非在解决问题,而是希望通过横向分层与纵向切分让问题空间变得更小,降低业务复杂度罢了。 这种分解层次体现为: 业务领域是对目标系统之系统范围进行划分,划分依据为价值高低 业务组件是对业务领域的划分,划分依据在于业务相关性 业务服务是对业务组件的划分,划分依据在于领域模

  • 通过利用“业务映射”来构建敏捷组织

    Dan North此前在比利时布鲁塞尔举办的Scaling Agile for the Enterprise 2016大会上谈到了关于业务映射的相关内容,随后InfoQ采访了Dan North,从商业角度来看,IT部门的各个组织采用敏捷开发过程中遇到的那些问题。Dan North也介绍了什么是业务映射,以及它如何帮助组织提高敏捷性和灵活性。\\InfoQ:能不能从商业角度来阐述一下IT组织在采纳敏...

  • CQL(Cassandra Query Language)数据操作

    本节介绍CQL支持插入,更新,删除和查询数据的语句。 查询(SELECT) 从数据查询数据是使用SELECT语句完成的: select_statement ::= SELECT [ JSON | DISTINCT ] ( select_clause | '*' ) FROM table_name [

  • 设计数据层组件并在层间传递数据(好文收藏)

    设计数据层组件并在层间传递数据Angela Crocker、Andy Olsen 和 Edward JezierskiMicrosoft Corporation 2002年8月 适用于:    Microsoft® .NET 应用程序摘要:学习向 Microsoft .NET 应用程序公开数据的最佳方式,以及如何实现一个有效的策略以便在分布式应用程序的层间传递数据。(本文包含一些指向英

  • 关于Django REST framework中Serializer字段和选项

    关于Django REST framework中Serializer字段和选项 1.定义Serializer类 Django REST framework中的Serializer使用类来定义,须继承自rest_framework.serializers.Serializer。 例如,我们已有了一个数据库模型类BookInfo class BookInfo(models.Model): name = models.CharField(max_length=20, verbose_name='名称')

  • 业务对象功能授权模块找不到对应的业务对象

    需要在权限控制设置->勾选"控制功能权限" 转载于:https://www.cnblogs.com/zouhuaxin/p/10383252.html

  • 对象关系映射SQLAalchemy

    什么是ORM? ORM,即Object-Relational Mapping(对象关系映射),它的作用是在关系型数据库和业务实体对象之间作一个映射,这样,我们在具体的操作业务对象的时候,就不需要再去和复杂的SQL语句打交道,只需简单的操作对象的属性和方法。 SQLAlchemy 是Python编程语言下的一款开源软件。提供了SQL工具包及对象关系映射(ORM)工具,为高效和高性能的数据库访问...

  • 接口测试平台-95: 项目公共域名 库表设计+添加映射+增删改查

    本节要开始弄公共请求头了。 大家会不会有一种,不知道要怎么下手的感觉,其实很简单。可以看下目前的结构,在下面写一个全局域名。其实整体设计和全局请求头基本一致,只是当中的标签id 数据字段 函数名需要更改。前端如此,urls.py,和views.py还有models.py基本都是复制粘贴全局请求头的,这样不就简单了么? 不要怀疑这种借鉴抄袭copy的方法,这其实是最正常和常见的方法,谁还能天天写什么都需要去创新,去创造,去设计?那不累死了。毕竟最高级的程序员 往往会使用最简单的code方式:ctrl+c.

  • kettle在不同类型数据库之间进行数据传输并对字段进行映射

    官方文档 https://help.pentaho.com/Documentation/7.1/0J0/0C0/020 下载地址 https://community.hitachivantara.com/s/article/data-integration-kettle 下载完之后双击运行 启动成功

  • 第 6 章 对象/关系数据库映射基础(Basic O/R Mapping)

    6.1. 映射定义(Mapping declaration)对象和关系数据库之间的映射通常是用一个XML文档(XML document)来定义的。这个映射文档被设计为易读的, 并且可以手工修改。映射语言是以Java为中心,这意味着映射文档是按照持久化类的定义来创建的, 而非表的定义。 请注意,虽然很多Hibernate用户选择手写XML映射文档,但也有一些工

  • 数据库—02对象关系映射sqlalchemy

    一、简介 ORM,即Object-Relational Mapping(对象关系映射),它的作用是在关系型数据库和 业务实体对象之间作一个映射,这样,我们在具体的操作业务对象的时候,就不需要再 去和复杂的SQL语句打交道,只需简单的操作对象的属性和方法。 简单地说,就是把面向对象的语言翻译成SQL语句并执行。 SQLAlchemy是Python编程语言下的一款开源软件。提供了SQL工具包及对象关系...

  • Oracle数据库创建实体对象,在自命名包中定义函数以及返回实体对象数据

    select fpdm,dsfjdm from tfp_fplx where dsfjdm='13701'; --创建测试实体 create or replace type testObject as object ( fpdm varchar2(20), dsfjdm varchar2(20) ) //分布执行,先执行上面的,在执行下面的 --创建一个表,表中的每一条记录都是上面

  • 领域模型和数据库表结构对应关系

          以前我自己做过的项目中和别人的项目中都有这样的一些定论,就是往往先设计数据库表模型,然后根据表产生业务逻辑模型。譬如,在数据库中有一个表T_USER,在程序中就会有User类,所以一般情况就一对一的映射关系了。       领域模型是对领域内的概念类或现实世界中对象的可视化表示。又称概念模型、领域对象模型、分析对象模型。它专注于分析问题领域本身,发掘重要的业务领域概念,并建立业务领...

  • resultMap映射数据错误问题

    mapper文件使用了resultMap进行一对多关系映射,不管怎么配置(没有问题)SQL语句查询出来的结果,和调用mapper代理对象产生的entry数据就是不一致。 解决方案:在mapper的sql语句中加上order by。

  • 结构化设计(实验二)

    实验二:软件设计规约及评审 概要设计规约 概要设计规约指明软件的组织结构,其主要内容包括: 系统环境: 硬件、软件接口与人机界面 外部定义的数据库 与设计有关的限定条件 设计描述: 软件模块的结构 模块之间的接口 数据流和主要数据结构 对每个模块的描述: 处理过程外部行为 界面定义 数据结构 必要的注释 文件结构和全局数据 文件的逻辑结构、记录描述以及访问方式 交叉引用信息 详细设计规约 详细设计规约是对软件各组成部分内部属性的描..

  • Z-Model,一种基于SQL构建复杂业务系统的方法

    编者按:本周无意看到一篇介绍无远开发平台(Enhancer)的文章,里面的思路让人眼前一新。Enhancer 也即无远开发平台,是专业的一站式信息系统开发云平台。基本上,只需编写 SQL,无需编写代码,即可快速完成各类系统的开发,并且获得可直接部署在您私有环境的应用程序。下面是具体介绍 常规企业级应用开发基本过程 第一步,数据库建表建字段。 第二步,在应用代码里创建跟表对应的业务对象,并实现及涉及到对象之间关系的操作方法。 第三步,UI 层调用业务对象获取数据做渲染,或者通.

  • 数据库设计——实体类与表的映射

    映射 E-R图 (Entity-Relationship),实体关系映射图 它的核心就是映射 (mapping): 1.实体名,映射成表名 2.属性,映射成列名 3.对象标示符,映射成主键约束 4.实体关系,映射成表之间的关系 (外键约束) 映射举例 实体类名字:User —— 表名:tbl_user 属性:id —— 主键:id 属性:name ——— 列名:name 属性:password —— 列名:password 实体类之间的映射 实体类之间的关系: 一对一 —— 映射成外键 一对多 ——

Global site tag (gtag.js) - Google Analytics