当前位置: 首页 > news >正文

重庆企业网站建设推荐网站图片浏览特效

重庆企业网站建设推荐,网站图片浏览特效,交互设计案例100例,软件开发的软件作者#xff1a;snsn1984题记#xff1a;在学习LLVM的过程中#xff0c;要想学的更加深入#xff0c;掌握更多的技能#xff0c;LLVM的源码是必须要读的#xff0c;但是在这么多的源码中#xff0c;从哪里下手#xff1f;很容易让人找不到头脑#xff0c;本文这里就先… 作者snsn1984题记在学习LLVM的过程中要想学的更加深入掌握更多的技能LLVM的源码是必须要读的但是在这么多的源码中从哪里下手很容易让人找不到头脑本文这里就先拿出几个Pass相关的源码文件进行分析。1.Pass.h源码中的位置llvm源码/include/llvm/Pass.h网络上位置 http://llvm.org/docs/doxygen/html/Pass_8h_source.html此头文件的内容此头文件主要对和Pass相关的几个类进行了声明。主要有Pass、ModulePass、ImmutablePass、FunctionPass、BasicBlockPass这几个类。之前在关于Pass的博文里也介绍过一些和Pass相关的知识而这几个类正是LLVM的Pass框架所最常用的几个类在Pass的编写或者修改的工作中基本上都是在和这几个类打交道所以对于这几个类要想有一个深的了解这个头文件是必须读的。ModulePass、ImmutablePass、FunctionPass、BasicBlockPass这几个类都是Pass的子类也是在写Pass的时候最容易直接用到的类。自己编写LLVM的Pass的时候使用的最多是FunctionPass和ModulePass这两个。而这两个之中FunctionPass要使用的比ModulePass更为多一点因为如果不删除函数一般都是处理函数内部的信息那么使用FunctionPass就可以了。其实根据本人的经验还有一种情况是需要使用ModulePass的那就是在需要处理MetaData的时候这种情况之下也会用到ModulePass的因为Metadata是在函数之外的。2.Pass.cpp源码中的位置llvm源码/lib/VMCore/Pass.cpp网络上的位置http://llvm.org/docs/doxygen/html/Pass_8cpp_source.html此文件主要是对Pass.h中声明的几个类的实现。除此之外还有对RegisterAGBase、PassRegistrationListener、AnalysisUsage这三个类的实现。而这三个类的声明并不在刚才介绍的Pass.h之中而是另有别的头文件此处先不做介绍。3.PassSupport.h源码中的位置llvm源码/include/llvm/PassSupport.h网络上的位置http://llvm.org/docs/doxygen/html/PassSupport_8h_source.html此头文件被包含在Pass.h这个头文件之中所以如果文件已经包含了Pass.h其实就也可以访问PassSupport.h。这个文件中主要是PassInfo、RegisterPass、RegisterAGBase、RegisterAnalysisGroup、PassRegistrationListener这几个类的声明。PassInfo类的每一个对象都对应着一个实际存在的Pass并且保存着这个Pass的信息。RegisterPass这个类是一个模板类这个模板类的类型就是Pass的名字。它是PassInfo的子类主要用来注册Pass。完成注册之后在PassManager管理的内部数据库里才能找到这个Pass。需要注意的是这个模板类的使用必须是在全局范围之内的。可以从最简单的Pass例子--Hellohttp://llvm.org/docs/doxygen/html/Hello_8cpp_source.html中去看这个模板类的使用方法。RegisterAGBase是RegisterAnalysisGroup类的基类而RegisterAGBase类又是PassInfo类的子类。其中RegisterAGBase类名字中的AG就是AnalysisGroup的缩写这种命名方式在LLVM的源码中被大量的应用比如MetaData在一些类的名字里就被缩写为MD。RegisterAnalysisGroup这个类的作用主要是将一个Pass注册成为一个分析组的成员当然在进行此操作之前这个Pass必须被首先注册Pass成功。一个Pass可以被注册到多个分析组中。同一个Pass在多个分析组中依然是根据这个Pass的名字进行标识的。PassRegistrationListener这个类主要负责在运行时时候Pass的注册与否并且会在Pass被load和remove的时候去调用回调函数。4. PassAnalysisSupport.h源码中的位置llvm源码/include/llvm/PassAnalysisSupport.h网络上的位置http://llvm.org/docs/doxygen/html/PassAnalysisSupport_8h_source.html此头文件被包含在Pass.h这个头文件的尾部所以如果文件已经包含了Pass.h其实就也可以访问PassAnalysisSupport.h。这个头文件之中主要是AnalysisUsage和AlysisResolver两个类的声明以及Pass类的部分函数的实现。其中AnalysisUsage主要负责表示分析出来的使用信息。AlysisResolver是一个Pass对象用来从Pass Manager获取所有的分析信息的简单接口。另外Pass类的函数getAnalysisIfAvailable()、getAnalysis()、getAnalysisID()这三个常用的函数也都是在这个头文件中使用的。Pass之间的交互是会经常用到这样的函数的。--------------------------------------------------------------------------转载请注明出处--------------------------------------------------------------------------------------------- 转载于:https://www.cnblogs.com/ainima/archive/2013/03/18/6331980.html
http://www.yutouwan.com/news/331579/

相关文章:

  • 云南省网站开发wordpress破解主题教程
  • wordpress的x站模板视频涉台互联网网站怎么做
  • 如何介绍网站建设公司网站seo推广多少钱
  • apache多网站配置网站建设公开
  • 廊坊网站建设公司wordpress新建404页面
  • 做音乐相册的网站北京上云网站建设公司
  • 如何做网站推广雷公钻如何建立wordpress
  • 电子商务网站系统规划报告网站设计风格评价
  • 申请网站建设经费昌图网站推广
  • 宁波做网站首推荣盛网络秋佐科技公司网站
  • 网站怎么去维护乐清做网站公司哪家好
  • 湖南中核建设工程公司官方网站沧州建网站
  • 在源码之家下载的网站模板可以作为自己的网站吗北京餐饮网络营销公司
  • 商城微网站建设多少钱优化网站要怎么做
  • 实验室网站模板服装箱包网站建设
  • 专门做化妆品平台的网站有哪些西安装修公司网站制作
  • 成品网站管理系统旅游类网站设计模板下载
  • 用php做网站出现的问题马鞍山建设银行网站
  • 网站备案后改域名中国建设银行官网站e路护航下载
  • 品牌网站建设堅持大蝌蚪百度搜寻网站缩略图如何添加
  • 如何做网站免费九九9九九9视频在线观看
  • 广州 网站建设公司顺德大良哪家做网站好
  • 如何做logo模板下载网站建设自己公司的网站首页
  • 获取网站访问量新余 网站建设
  • 有源码帮忙搭建网站吗武城县建设局网站
  • 网站上的用户注册怎么做的深圳住房和建设局网站登录
  • 长沙网站建设公司wordpress游戏站
  • 自己做的网站打不开中信建设有限责任公司 乔锋 电话
  • w网站建设需求说明政务微信app下载
  • 网站建设与维护总结福州营销网站建设老品牌