注1:主要用于个人学习LLVM查找用,后续会继续更新

注2:加红文字可以ctrl+鼠标点击跳转到对应官方文档

注3:目前大致目录框架如下

  1. 概述

    1. LLVM 编译器简介演示文稿
    2. LLVM 简介
    3. LLVM:分析和转的编译框架A Compilation Framework for Lifelong Program Analysis & Transformation
    4. LLVM:多阶段优化的架构
  2. 开发文档
    1. 入门/教程

      • 开始使用 LLVM 系统讨论如何使用 LLVM 基础结构快速启动和运行。从分发的解包和编译到某些工具的执行,无所不包。

        1. 目录
  1. 概述
  2. 获取源代码&构建 LLVM
  3. 必备要求
    1. 硬件
    2. 软件
    3. Host C++ Toolchain&编译器&标准库
      1. 获取Host C++ Toolchain
  4. 开始使用 LLVM
    1. 术语和符号
    2. 解压缩 LLVM文件
    3. 从 Git CheckOut llvm
      1. 发送补丁
      2. 开发人员从 Git 提交更改
      3. Git pre-push hook
      4. Bisecting commits二分提交?
      5. 恢复更改
      6. 从 SVN CheckOUt(已弃用)
    4. 本地 LLVM 配置
    5. 编译 LLVM 套件源代码
    6. 交叉编译 LLVM
    7. LLVM 对象文件的位置
    8. 可选配置项
  5. 目录布局
    1. llvm/examples
    2. llvm/include
    3. llvm/lib
    4. llvm/projects
    5. llvm/test
    6. test-suite
    7. llvm/tools
    8. llvm/utils
  6. 使用 LLVM 工具链的例子
    1. 使用clang的示例
  7. 常见问题
  8. 链接
    1. 其他
  1. Clang前端
  2. C++标准库
  3. LLD链接器
  4. Clang 入门
  5. CMake
  6. 配置和编译 LLVM
  7. LLVM编码标准Coding Standards
  8. 如何交叉编译Clang/LLVM
  9. 关于如何交叉编译的Clang文档
  10. toolchain testing PPA
  11. ask ubuntu stack exchange
  12. github gist
  13. LLVM doxygen文档
  14. LLVM源码目录布局
  15. 测试套件
  16. 开发者政策
  17. Phabricator
  18. Phabricator review
  19. installing arcanist
  20. committing a change
  21. obtaining commit access
  22. Bisecting LLVM code
  23. 命令行指导
  24. 使用bugpoint:HowToSubmitABug.html
  25. 标准LLVM 工具
  26. FAQ
  27. LLVM主页
  28. LLVM Doxygen Tree
  29. 开始LLVM项目
    • LLVM 编译万花筒语言教程:使用 LLVM 编译自定义语言

      1. 万花筒语言(Kaleidoscope):利用LLVM实现一个语言

        1. 我的第一语言前端与 LLVM 教程
        2. 这是"万花筒"语言教程,演示如何使用在计算机中使用 LLVM 组件实现C++。
      2. 万花筒:在Objective Caml中利用LLVM实现一门语言
        1. 万花筒:教程介绍和Lexer
        2. 万花筒:实现一个解析器Parser)和 AST
        3. 万花筒:代码生成至 LLVM IR
        4. 万花筒:添加JIT和优化器支持
        5. 万花筒:扩展语言:控制流
        6. 万花筒:扩展语言:用户定义的运算符
        7. 万花筒:扩展语言:可变变量Mutable Variables
        8. 万花筒:结论和其他有用的 LLVM 技巧
      3. 在 LLVM 中构建 JIT
        1. 构建 JIT:从KaleidoscopeJIT开始
        2. 构建 JIT:添加优化 – ORC 层简介
        3. 构建 JIT:每个功能延迟编译
        4. 构建 Jit:极端懒惰 - 从ASTs对JIT使用LazyReexports
      4. 额外教程
        1. 教程:为 Cpu0 架构创建 LLVM 后端:用于开发 LLVM 后端的分步教程。在积极开发https://github.com/Jonathan2251/lbd
        2. Howto:实现 LLVM 集成汇编器:有关如何实现体系结构的 LLVM 集成汇编程序的简单指南。
      5. 高级主题/Advanced Topics:为 LLVM 编写优化
    • LLVM 程序员手册介绍 LLVM 源库的一般布局、重要类和 API,以及一些提示和技巧。
      1. 目录
  1. 介绍
  2. 通用信息
    1. C++标准模板库
    2. 其他有用参考资料
  3. 重要&有用的LLVM APIs
    1. The isa<>, cast<> and dyn_cast<> templates
    2. 传递字符串 
      1. StringRef 类
      2. Twine 类
    3. 格式化字符串(formatv 函数)
      1. 简单格式化
      2. 自定义格式化
      3. formatv示例
    4. 错误处理
      1. 编程错误
      2. 可恢复错误
        1. StringError
        2. Interoperability with std::error_code and ErrorOr
        3. Returning Errors from error handlers
        4. Using ExitOnError to simplify tool code
        5. Using cantFail to simplify safe callsites
        6. Fallible constructors
        7. Propagating and consuming errors based on types
        8. Concatenating Errors with joinErrors
        9. Building fallible iterators and iterator ranges
    5. 传递函数和其他可调用对象
      1. 函数模板
      2. function_ref 类模板
    6. LLVM_DEBUG() 宏&-debug 调试选项
      1. Fine grained debug info with DEBUG_TYPE and the -debug-only option
    7. Statistic (统计?)类& -stats 调试选项
    8. 添加调试计数器以帮助调试代码
    9. 在调试代码时查看图形
  4. 为任务选择正确的数据结构
    1. 顺序容器 (std::vector, std::list, etc)

      1. llvm/ADT/ArrayRef.h
      2. 固定大小数组Fixed Size Arrays
      3. 堆分配数组Heap Allocated Arrays
      4. llvm/ADT/TinyPtrVector.h
      5. llvm/ADT/SmallVector.h
      6. <vector>
      7. <deque>
      8. <list>
      9. llvm/ADT/ilist.h
      10. llvm/ADT/PackedVector.h
      11. ilist_traits
      12. iplist
      13. llvm/ADT/ilist_node.h
      14. Sentinels
      15. Other Sequential Container options
    2. 字符串式容器
      1. llvm/ADT/StringRef.h
      2. llvm/ADT/Twine.h
      3. llvm/ADT/SmallString.h
      4. std::string
    3. 集合式容器 (std::set, SmallSet, SetVector, etc)
      1. A sorted ‘vector’
      2. llvm/ADT/SmallSet.h
      3. llvm/ADT/SmallPtrSet.h
      4. llvm/ADT/StringSet.h
      5. llvm/ADT/DenseSet.h
      6. llvm/ADT/SparseSet.h
      7. llvm/ADT/SparseMultiSet.h
      8. llvm/ADT/FoldingSet.h
      9. <set>
      10. llvm/ADT/SetVector.h
      11. llvm/ADT/UniqueVector.h
      12. llvm/ADT/ImmutableSet.h
      13. Other Set-Like Container Options
    4. Map式容器 (std::map, DenseMap, etc)
      1. A sorted ‘vector’
      2. llvm/ADT/StringMap.h
      3. llvm/ADT/IndexedMap.h
      4. llvm/ADT/DenseMap.h
      5. llvm/IR/ValueMap.h
      6. llvm/ADT/IntervalMap.h
      7. <map>
      8. llvm/ADT/MapVector.h
      9. llvm/ADT/IntEqClasses.h
      10. llvm/ADT/ImmutableMap.h
      11. Other Map-Like Container Options
    5. Bit 存储容器 (BitVector, SparseBitVector, CoalescingBitVector)
      1. BitVector
      2. SmallBitVector
      3. SparseBitVector
      4. CoalescingBitVector
  5. 调试
  6. 常见操作的有用提示
    1. 基本检查(Inspection )和遍历(Traversal )

      1. 在MF里遍历BB
      2. 在BB里遍历MI
      3. 在MF里遍历MI
      4. 转换迭代器为类指针
      5. 寻找调用位置
      6. 遍历def-use & use-def chains
      7. 遍历基本块的前置和后续基本块
    2. 进行简单的修改
      1. 创建和插入新指令
      2. 删除指令
      3. 用另一个值来替换指令
        1. 替换单个指令
        2. 删除指令
        3. Replacing multiple uses of Users and Values
      4. 删除全局变量
  7. 线程 & LLVM
    1. 用llvm_shutdown()结束执行
    2. 用ManagedStatic延迟初始化
    3. 用LLVMContext实现隔离
    4. 线程和 JIT
  8. Advanced Topics
    1. ValueSymbolTable 类
    2. The User and owned Use classes’ memory layout
      1. 用户和使用对象之间的交互和关系
    3. 设计类型层次结构(Type Hierarchies )和多态接口
    4. ABI 中断检查
  9. LLVM 核心类层次结构参考
    1. 类型类和派生类型(Derived)

      1. Important Public Methods
      2. Important Derived Types
    2. Module 类
      1. Important Public Members of the Module class
    3. Value 类
      1. Important Public Members of the Value class
    4. User 类
      1. Important Public Members of the User class
    5. Instruction 类
      1. Important Subclasses of the Instruction class
      2. Important Public Members of the Instruction class
    6. 常量(Constant)类和子类 
      1. Important Subclasses of Constant
    7. GlobalValue 类
      1. Important Public Members of the GlobalValue class
    8. Function 类
      1. Important Public Members of the Function
    9. GlobalVariable 类
      1. Important Public Members of the GlobalVariable class
    10. BasicBlock 类
      1. Important Public Members of the BasicBlock class
    11. Argument 类
      1. 其他
  1. doxygen
  2. doxygen documentation for the subclass of Instruction
  3. C++参考手册:cppreference.com
  4. C++ In a Nutshell
  5. C++ Frequently Asked Questions
  6. SGI’s STL Programmer’s Guide
  7. Introduction to the STL
  8. Bjarne Stroustrup’s C++ Page.
  9. Bruce Eckel’s Thinking in C++, 2nd ed. Volume 2 Revision 4.0 (even better, get the book).
  10. 使用静态和共享库:Using static and shared libraries across platforms
  11. How to set up LLVM-style RTTI for your class hierarchy
  12. MBB:MachineBasicBlocks
  13. BB:BasicBlocks
  14. SelectionDAG:Instruction Selection DAGs
  15. 可视化:graphviz
  16. Graphviz program
  17. Graph attributes
  18. GDB pretty printers
  19. print pretty选项
  20. Core LLVM Class Hierarchy Reference
  21. Kaleidoscope Tutorial
  22. Inheritance Is The Base Class of Evil
  23. Value Semantics and Concepts-based Polymorphism
  24. Sean Parent’s Papers and Presentations
  25. LLVM Language Reference Manual
      • 前端开发者一些技巧/提示关于前端如何生成 LLVM 能够有效优化的 IR

        1. 摘要
        2. IR 最佳实践
          1. 基础知识
          2. allocas的使用
          3. 避免加载和存储大量集合类型(aggregate types )的数据
          4. 最好选择零扩展而不是符号扩展方式
          5. Zext GEP indices to machine register width
          6. 何时指定对齐方式
          7. 其他要考虑的事项
        3. 描述语言的特定属性
          1. 受限操作语义
          2. 描述别名属性
          3. Modeling Memory Effects
          4. Pass Ordering
          5. 我仍然找不到我要找的东西
        4. 添加到此文档
        5. 其他
          1. specify the range of the value using metadata
          2. assume intrinsic
      • Microsoft Visual Studio使用 LLVM 的指导
        1. 概述
        2. 必备要求
          1. 硬件
          2. 软件
            1. Python
            2. GnuWin32
        3. 开始
          1. LLVM CMake guide
        4. 使用LLVM工具链的例子
        5. 常见问题
        6. 链接
      • 给编译器作者的一些体系结构和平台信息
        1. 硬件

          1. AArch64 & ARM
          2. Itanium (ia64)
          3. Lanai
          4. MIPS
          5. PowerPC
            1. IBM - Official manuals and docs
            2. Embedded PowerPC Processors manuals and docs
            3. Other documents, collections, notes
          6. AMDGPU
          7. RISC-V
          8. C-SKY
          9. SPARC
          10. SystemZ
          11. X86
          12. XCore
          13. Hexagon:Hexagon Programmer’s Reference Manuals and Hexagon ABI Specification (registration required, free sign-up)
          14. Other relevant lists
        2. ABI
          1. Linux
          2. macOS
          3. Windows
            1. PE/COFF
        3. NVPTX
        4. 其他资源
          1. 可执行文件格式
    • 用户指南
      • clang

        1. 如何在 ARM 上构建
        2. 如何使用Profile-Guided OptimizationsPGO)构建 Clang 和 LLVM
        3. 如何使用 Clang/LLVM 交叉编译
        4. 如何构建 C、C++、ObjC 和 ObjC++的前端
        5. LLVM 代码覆盖率映射格式Code Coverage Mapping Format
        6. 控制流验证工具设计文档控制流完整性的验证工具的说明。
      • LLVM构建和分发
        1. 构建 LLVM 的分布Building a Distribution of LLVM):使用 LLVM 的 CMake 构建系统打包和分发。
        2. 使用 CMake 构建 LLVM
        3. 用于构建 LLVM 的 Dockerfile 指南
        4. 支持库本文档介绍 LLVM 支持库以及如何保持 LLVM 源代码可移植
        5. 高级构建配置
      • 优化
        1. 实现 llvmpass有关如何编写 LLVM 转换和分析的pass。
        2. 实现 llvm pass有关如何在新的pass管理器下编写 LLVM 转换的pass。
        3. LLVM 已实现的分析与转换pass列表
        4. 堆栈安全分析本地变量的堆栈安全分析的设计。
        5. 函数合并MergeFunctionspass是如何工作的
        6. LLVM 别名分析pass结构如何编写新的别名分析pass&调用现有pass
        7. MemorySSA
        8. LLVM 中和循环相关的术语(和规范形式)
        9. LLVM 中的自动矢量化
        10. LLVM 链接时优化设计和实现This document describes the interface between LLVM intermodular optimizer and the linker and its design
        11. LLVM  gold plugin某些插件?)如何在 Linux 上使用链接时优化来构建程序
        12. Remarks注释?
        13. 使用 LLVM 进行源级调试
      • 代码生成
        1. 实现LLVM 后端
        2. LLVM 目标无关的代码生成器
        3. TableGen
      • JIT
        1. MCJIT 设计和实现
        2. 使用 GDB 调试 JIT 代码
      • 其他
        1. 命令行 2.0 库手册提供有关使用命令行解析库的信息。
        2. 扩展 LLVM:添加指令、intrinsic函数、类型等
        3. 如何添加受约束浮点intrinsic
        4. 如何在ARM上进行Compiler-rt Builtins交叉编译
        5. 在大端序模式下使用 ARMNEON 指令
        6. clang编译 CUDA
        7. NVPTX 后端的用户指南使用 NVPTX 后端编译 GPU 内核。
        8. AMDGPU 后端的用户指南使用 AMDGPU 后端编译 GPU 内核。
        9. 用于异构调试的 DWARF 扩展比如AMDGPU 后端等目标的异构调试的 DWARF 扩展
    • 参考LLVM 和 API 参考文档
      • API 参考

        1. Doxygen 生成文档
        2. 如何使用Attributes
          1. Introduction
          2. Attribute
          3. AttributeList
          4. AttrBuilder
        3. Documentation for Go bindings
          1. GoDoc:showdoc是一个基于 Markdown 的文档发布管理软件,godoc 作为 showdoc 的 go语言重构版本,对原项目做了功能上的精简。
        4. ORC设计和实现
          1. JIT相关,有三个持续演进的JIT执行引擎实现:llvm::JIT类、llvm::MCJIT类和llvm::ORCJIT类
          2. JIT中的ORC Layer
      • LLVM 参考
        1. 命令行实用程序

          1. LLVM命令行指导:所有LLVM工具的命令描述
  1. 基本命令行

    1. dsymutil - 操作归档文件中的DWARF调试符号(archived DWARF debug symbol files
    2. llc - 静态编译器
    3. lli - 字节码(bitcode解释器/执行器
    4. llvm-as - 汇编器
    5. llvm-config - 打印LLVM编译选项
    6. llvm-cov - 发布覆盖率信息(代码覆盖率,功能覆盖率,行覆盖率,条件覆盖率)
    7. llvm-cxxmap - 混乱的名字(Mangled name)重映射工具
    8. llvm-diff - LLVM 结构”diff”
    9. llvm-dis - 反汇编器
    10. llvm-dwarfdump - 解析&转储&检验DWARF 调试信息
    11. llvm-lib - 与lib.exe兼用的库工具
    12. llvm-libtool-darwin - 为Darwin创建库的工具
    13. llvm-link - 字节码链接器
    14. llvm-lipo - 用于处理通用二进制文件的LLVM工具
    15. llvm-mca - 机器码分析器
    16. llvm-profdata - 配置数据工具
    17. llvm-readobj - 目标文件分析器
    18. llvm-stress - 生成随机的.ll文件
    19. llvm-symbolizer - 将地址转换为源代码中的位置
    20. opt - 优化器
  2. GNU binutils替换命令
    1. llvm-addr2line - addr2line的替代品
    2. llvm-ar - LLVM归档器
    3. llvm-cxxfilt - LLVM符合名称分析器
    4. llvm-install-name-tool - 操作install-names rpaths的工具
    5. llvm-nm - 列出LLVM字节码和目标文件中的符号表
    6. llvm-objcopy - 目标文件复制和编辑工具
    7. llvm-objdump -LLVM目标文件转储器
    8. llvm-ranlib - 库存档索引生成工具
    9. llvm-readelf - GNU风格的LLVM对象读取器
    10. llvm-size - 打印目标文件尺寸信息
    11. llvm-strings -打印目标文件中的字符串
    12. llvm-strip - 目标文件去除调试信息工具
  3. 调试工具
    1. bugpoint - 自动测试用例缩减工具
    2. llvm-extract - 从LLVM模块中提取函数
    3. llvm-bcanalyzer - LLVM字节码分析器
  4. 开发者工具
    1. FileCheck - 灵活的模式匹配文件验证程序
    2. xxx-tblgen - 目标描述到C++代码生成器
    3. lit - LLVM集成测试仪
    4. llvm-exegesis - LLVM机器指令基准Machine Instruction Benchmark
    5. llvm-locstats - 计算DWARF调试位置的统计信息
    6. llvm-pdbutil -PDB文件取证和诊断forensics and diagnostics
    7. llvm-profgen - LLVM SPGO profile generation tool
        1. LLVM bugpoint 工具的设计实现和用法
        2. Using -opt-bisect-limit to debug optimization errors
        3. The Microsoft PDB(Program Data Base)File Format
      1. 垃圾收集(Garbage Collection)
        1. Garbage Collection with LLVM
        2. Garbage Collection Safepoints in LLVM
      2. LibFuzzer
        1. libFuzzer – (模糊器?)覆盖率测试相关.

          1. LibFuzzer是单进程的,覆盖引导的,进化的模糊引擎
          2. LibFuzzer与被测试的库链接,并通过特定的模糊入口点(也称为“目标函数”)将模糊输入提供给库; 然后,模糊器跟踪到达代码的哪些区域,并在输入数据的语料库中生成突变,以便最大化代码覆盖。
          3. libFuzzer的代码覆盖率信息由LLVM的SanitizerCoverage检测提供
        2. Fuzzing LLVM libraries and tools - 利用fuzzer工具找bug
      3. LLVM IR
        1. LLVM 语言参考手册定义 LLVM 中间表示和不同节点的汇编形式
        2. InAlloca Attribute的设计与使用
        3. LLVM 字节码文件格式.bc)
        4. Machine IR(MIR) 格式参考手册用于测试 代码生成过程
        5. 全局指令选择这描述了原型指令选择/替换GlobalISel
      4. 测试和调试
        1. LLVM 测试架构/框架指南
  1. 概述
  2. 必备要求
  3. LLVM测试框架组织架构
    1. Unit tests  单元测试
    2. Regression testsn回归测试
    3. Testing Analysisn测试分析
    4. test-suiten测试套件
    5. Debugging Information testsn调试信息测试
  4. 快速开始
    1. 单元和回归测试
    2. 调试信息测试
  5. 回归测试结构
    1. 编写一个回归测试
    2. Extra files
    3. Fragile tests
    4. 特定目标平台测试
    5. Constraining test execution
    6. Substitutions
    7. 选项
    8. 其他功能
        1. 测试套件指南介绍如何编译和运行测试套件基准
        2. GWP-ASanA sampled heap memory error detection toolkit designed for production use
      1. XRay
        1. XRay Instrumentation):如何使用 XRay 的高级别文档
        2. 使用 XRay 进行调试如何使用 XRay 调试应用程序的示例
      2. 其他
        1. FaultMaps和隐式检查LLVM 支持将控制流折叠到faulting machine instructions中
        2. LLVM 原子指令和并发指南有关 LLVM 并发模型的信息
        3. LLVM 中的异常处理
        4. LLVM 扩展LLVM 寻求兼容特定工具和格式的扩展
        5. 如何为自己的类层次结构设置 LLVM 样式RTTIisa<>, dyn_cast<>
        6. LLVM Block Frequency Terminology提供有关BlockFrequencyInfo analysis pass相关的信息
        7. LLVM 分支权重元数据Branch Weight Metadata):提供有关分支预测信息的信息
        8. 经常被误解的 GEP 指令回答有关 LLVM 最常被误解的指令的一些非常常见的问题
        9. Scudo Hardened Allocator实现安全的malloc的库
        10. MemTagSanitizer代码生成的安全强化旨在缓解与内存相关的漏洞。基于 Armv8.5-A Memory Tagging Extension
        11. 依赖图各种依赖关系图(如 DDG /Data Dependence Graph)的设计说明
        12. Speculative Load Hardening
        13. LLVM 中的分段堆栈Segmented Stacks in LLVM
        14. LLVM 的可选反汇编输出Optional Rich Disassembly Output
        15. LLVM 中的堆栈映射和修补程序点Stack maps and patch points in LLVM - 将指令地址映射到值的位置,并允许修补代码
        16. Llvm 中的协同/Coroutines
        17. YAML I/O
  1. 社区

    1. 参与

      • 如何为 LLVM 做出贡献
      • LLVM 开发人员政策
      • LLVM 代码审查政策
      • LLVM 社区核心和非核心组件的支持政策
      • Sphinx 快速开始模板:用于翻译LLVM文档源文件?
      • 利用Phabricator(工具/命令行)进行代码审查:http://reviews.llvm.org/
      • 如何提交 LLVM bug报告
      • LLVM bug生命周期描述如何报告、鉴别和关闭 Bug
      • LLVM 编码标准&编写C++高效代码
      • BisectingLLVM 代码:介绍如何在 LLVM 的仓库上使用git bisect
    2. 开发过程
      • 如何创建一个LLVM 项目:目录组织、Makefile 和测试树
      • 如何向公众发布 LLVM:这是准备 LLVM 发布的指南。大多数开发人员可以忽略它
      • 如何验证新版本LLVM:这是一个指南,用于在发布过程中验证新版本。大多数开发人员可以忽略它
      • 如何将生成配置添加到 LLVM Buildbot的基础结构
      • 关于打包 LLVM 的建议
      • 当前发布版本的发行说明:这描述了新功能、已知 Bug 和其他限制
    3. 邮件列表
      • 开发人员列表(llvm-dev):此列表是为希望包含在 LLVM 的技术讨论中的人。当人们对编写代码或使用 LLVM 工具有疑问时,他们会发布到此列表
      • llvm-commit:此列表包含 LLVM 开发人员向存储库提交代码更改时所做的所有提交消息
      • llvm-bug:每次打开和关闭 Bug 时,此列表都会通过电子邮件发送
      • llvm-test:每个活动夜间测试人员完成后,都会自动将一条消息发送到此列表。因此,此列表每天收到几次电子邮件,因此成为高容量列表
      • llvm-announce:这是一个低容量列表,提供有关 LLVM 的重要公告
    4. IRC:bug反馈?
    5. 聚会和社交活动
      • meetings and conferences
      • LLVM Socials
      • How to start LLVM Social in your town
    6. 社区范围提案
      • LLVM 社区行为准则:建议在 LLVM 社交空间(maillist、活动、IRC 等)上采用行为准则。
      • 将 LLVM 项目从SVN/Git移植到 GitHub
      • Bugpoint 工具的重新设计
      • "llvm-libc" C 标准库:建议在 LLVM 项目下添加 libc 实现。
      • 测试套件扩展:对于 llvm 的测试套件的其他基准/程序的建议。
      • 变量名称计划:建议更改变量名编码标准。
      • 矢量化计划:建议对 LLVM 的Loop Vectorizer的过程进行建模和升级。
      • 矢量指令预测路线图:LLVM 中预测矢量指令的建议。
    7. 如何报告安全问题?
  2. 索引和搜索
    1. 索引
    2. 搜索页面
  3. 其他非官方文档
    1. PLCT实验室的公开演讲,或者决定公开的组内报告:https://github.com/isrc-cas/PLCT-Open-Reports

LLVM文档目录框架(索引用)相关推荐

  1. 深入理解文档/视图框架体系_九宫格项目开发感悟

    1.项目起源以及采用文档/视图框架体系缘由 我们整天都在说:文档保存项目的数据并处理项目上的数据:视图通过关联获得文档的数据并进行可视化:主窗口框架接收外部事件消息并进行消息分配.这句口头禅感觉接触过 ...

  2. lucene全文搜索之三:生成索引字段,创建索引文档(给索引字段加权)基于lucene5.5.3...

    前言:上一章中我们已经实现了索引器的创建,但是我们没有索引文档,本章将会讲解如何生成字段.创建索引文档,给字段加权以及保存文档到索引器目录 luncene5.5.3集合jar包下载地址:http:// ...

  3. 在Word里面,简单制作文档目录

    在Word里面,简单制作文档目录 很多时候,在我们编辑完一篇文档后,需要生成文档的目录,其实Word早已经提供了良好的,目录生成方法,但是很多人并不知道....   首先,打开Word文档,转换到大纲 ...

  4. 老男孩linux培训期中学生作业文档目录展示

    老男孩linux培训的一名网络班初级学生期中实战架构作业文档目录展示 特别说明:(内部学员博文,非老男孩的学生可以绕过本博文) <?xml:namespace prefix="o&qu ...

  5. wxWidgets:文档/视图框架

    wxWidgets:文档/视图框架 wxWidgets:文档/视图框架 wxDocument 概览 wxView 概览 wxDocTemplate 概述 wxDocManager 概述 文档/视图框架 ...

  6. solr从pdf、office文档中建立索引

    2015年05月28日 ⁄ hadoop ⁄ 评论数 1 使用solr从pdf.office文档中建立索引和从数据库中建立相似,只不过这里需要tika来解析这些文档.8.1 配置一个handler 这 ...

  7. YUIDoc example代码高亮错误、生成API文档目录不按源文件注释顺序

    1.如果发现yuidoc命令用不了,那就重装nodejs吧 昨天不知道是清扫电脑的原因,yuidoc命令用不了(命令不存在),也没有找到好的解决方法,怒重装YUIDoc也不行.最后想了想,怒重装了no ...

  8. mongodb 输出数组字段_MongoDb文档操作、索引操作

    学习主题:MongoDb 学习目标: 掌握mongodb文档的更新 掌握mongodb文档的删除 掌握mongodb文档的查找 掌握mongodb文档的条件操作符 掌握mongodb中的索引操作 Mo ...

  9. wps如何在目录里面打省略号_在wps中怎么让文档目录的省略号对齐 - 卡饭网

    怎么在WPS中快速统计文档字数? 怎么在WPS中快速统计文档字数? 相信很多小伙伴在日常办公中都有用到WPS,在其中如何才能统计文档字数呢?方法很简单,下面小编就来为大家介绍.具体如下:1. 首先,打 ...

最新文章

  1. 团队项目第一阶段冲刺站立会议1(4月18日)
  2. 脉冲宽度调制pdm_NHWYM脉冲硬质氧化电源-高压脉冲电源-双极性脉冲电源品牌-济南能华...
  3. iOS实现三屏复用循环广告[从服务器请求的广告]
  4. Boost:异步操作,需要boost :: asio :: async_initiate函数的测试程序
  5. 30分钟轻松入门Spring MVC
  6. JavaWeb之Servlet入门(一)
  7. .net 下载文件几种方式
  8. 《穷爸爸富爸爸》读书笔记
  9. python第一题 引发的思考和学习
  10. 【编辑器】VSCode制表符Tab等修改
  11. 阿里云CDN、DCDN、SCDN的区别
  12. oracle startup open ora 03113,Oracle 11g startup时报ORA-03113通信通道的文件结尾
  13. 极大似然估计方法(Maximum Likelihood Estimate Method)
  14. 计算机在it行业的应用,IT行业的前景怎样啊,我是自考本科毕业,计算机应用...
  15. 发送候选文字到光标所在位置
  16. TensorFlow学习笔记——《TensorFlow技术解析与实战》
  17. node.js -v15.0.0下载安装配置教程笔记
  18. java计算 月数_Java 计算开始年月到结束年月期间的年月数
  19. l28n和开发版_*** am335x开发板的疑问以及解答
  20. 第三次作业 软件产品同质化问题

热门文章

  1. Python 实现文字转为图片
  2. 653 Android 8,诺基亚X6手机迎来新的系统固件更新 提升Android 8.1系统流畅性
  3. Qt creator 中设置Label中文字的上下标
  4. Javaweb常用标签
  5. 【Golang | gRPC】gRPC-Client Streaming客户端流实战
  6. 中国光纤光缆油膏市场预测及战略研究报告(2021版)
  7. COMFORT 酒店 | 广州四季酒店溢彩闪耀节日颂
  8. Opera Android 版本区别,Android版Opera Mobile、Opera Mini双双升级
  9. 她的十年开源路:只管热爱,无问西东
  10. 画K线图、画N日均线 python3