文档

根目录下README文档翻译

那年仲夏 提交于 2020-11-18 18:22:21
文件目录:/README 注:这是一个测试的,想让广大网友朋友们看一下是直白的翻译比较好,还是根据我自己的理解进行翻译,希望大家提出建议。同时在翻译中肯定会有一些错误,希望大家将错误指正出来,以完善中文文档。 正文: Linux kernel release 2.6.xx Linux内核2.6.xx发行版 These are the release notes for Linux version 2.6. Read them carefully, as they tell you what this is all about, explain how to install the kernel, and what to do if something goes wrong. 这些是linux2.6版本的发行文档。认真的阅读他们,因为他们能够告诉你这些都是关于什么的,并向您解释如何安装内核和如果出错了应该如何去做。 WHAT IS LINUX? 什么是LINUX? Linux is a Unix clone written from scratch by Linus Torvalds with assistance from a loosely-knit team of hackers across the Net. It aims towards POSIX compliance.

使用Asciidoc代替Markdown和Word撰写开发文档

*爱你&永不变心* 提交于 2020-02-29 06:32:23
开发文档一般都由Word或Markdown(格式)撰写,前则多见于企业项目,后则在开源界很流行。但在实际使用中总觉得不尽人意。 他们的不是 Word的问题 表现上:格式过于复杂,导致写出来的文档排版、格式很不统一,千人千面,不利于标准化 工具上:要么收费(MS)要么广告多(WPS)要么不稳定(一些开源的Office),另外这些都是很重工具 不被开源界待见,你说你写了个开源工具,文档是word的,很不和谐呀……:confused: Markdown的问题 表现上:绝对是矫枉过正了,它的语法太简单了,用MD写一篇文章(如本文)还凑合,但要写一个文档的话束缚太多了,谁用谁知道 工具上:Gitbook不错,将MD文档用GIT托管是个很不错的Idea,不过它的新版本把导出功能给阉割了(需要用命令行处理),不厚道,有点被gitbook平台绑架的感觉 说了这两个东西不是,那么自然会引荐更合适的喽,这就是我们主角 Asciidoc :heart: 你的好 Asciidoc有什么魅力呢? 简洁而不简陋的语法,它专门为编写书籍而生,在语法的支持上很到位,但不像Word那样可以随性,可以让你的文档更统一美观 AsciidocFX工具开源跨平台,使用体验很不错,更可以导出HTML、PDF、EBook等格式 Gitbook也支持这个语法(如果你希望用它的话) 一图胜千言 如何学习Asciidoc? 了解语法

LLVM每日谈之十五 LLVM自带的examples

有些话、适合烂在心里 提交于 2019-12-10 05:06:26
作者: snsn1984 在LLVM源码的目录下,有一个目录叫做examples,这个目录下边有几个LLVM的例子,初学者一般不会太关注这些例子,但是这些例子确实是精华中 的精华,在LLVM的学习过程中不可避免的要对这些例子所涉及内容要精通。所以希望大家一定要对这些例子重视起来,它们都是经典中的经典。从我个人而言, 从这些例子中学到了很多,文档说了很多都没能让人明白的东西,在这里,一个简单的例子就讲的很清楚了。 首先,要想执行这些例子,可以在cmake的时候加上参数 -DLLVM_BUILD_EXAMPLES=ON 。这样在最终编译出的bin目录下的可执行文件中,就多了这几个例子的可执行文件,运行这些文件就可以看到这些例子的输出。 接下来,我们看看这些例子到底都讲了什么东西。 llvm/examples/BrainF (Need To Do) llvm/examples/ExceptionDemo (Need To Do)从名字上来看,这个例子介绍的是LLVM的Exception模型,但是这块我目前还没有涉猎,没有进行研究,所以暂时不做介绍。 llvm/examples/Fibonacci 这个例子很像HowToUseJIT,所做的工作差不多,创建Module,创建Function,然后使用JIT,然后让函数运行。唯一的不同之处是这 个例子实现的是Fibonacci

LLVM每日谈之十三 使用LLVM自带的PASS

孤街浪徒 提交于 2019-12-09 20:57:24
作者: snsn1984 PS:最近一段时间,投入在LLVM上的时间有些减少。差点把对它的研究断掉,今天开始继续。对LLVM的研究需要很长一段时间的坚持不懈才可以彻底搞明白。 前面已经介绍过如何写自己的PASS,并且也针对一个简单的PASS进行了分析和介绍。相信大家也可以从LLVM源码中找到很多的PASS,这些PASS太多,他们每个到底是做什么用?如何去调用这些系统已经有的PASS?这就是这次每日谈要关注的问题。 在文档 http://llvm.org/docs/Passes.html 中,列出了所有的PASS的命令行参数以及这个PASS主要是做什么用的。下面来实际进行测试下。 在编译好的bin/目录下,使用clang生成一个.bc文件作为例子。然后使用opt工具: ./opt -print-module <test.bc > /dev/null 这里选择的是-print-module,对于它的介绍如下: This pass simply prints out the entire module when it is executed. 这个文档中的其他Pass也是类似的。自己不但可以在这个列表里找到自己需要的Pass,也可以通过这个列表来熟悉这些Pass。另外这个列表 中的Pass的源码主要在llvm源码/lib/Analysis和llvm源码/lib

Android开发进阶(一)XML文件解析之SAX模式解析

会有一股神秘感。 提交于 2019-12-06 17:41:00
SAX解析XML: SAX基本原理: 采用事件驱动解析XML文件,以流式方式逐行的去读,它不需要解析完整个文档,在按内容顺序解析文档的过各中,SAX会判断当前讲到的字符是否合法XML语法中的某部分,如果符合就触发事件(例如startDocument()、endDocument()诸如此类的事件),它的特点是不会记录前面所碰到的标签,并且它是一个解析速度快并且占用内存少的XML解析器, SAX解析步骤: 1、从SAXPraserFactory中创建一个新的实例 2、再从SAXParserFactory里得到一个新的SAX解析器对象SAXParser 3、再调用SAXParser对象的.parse()方法里面带两个参数一个是输入流一个是DefaultHandler对象这样就可以了。而DefaultHandler是实现了ContentHandler接口的。ContentHandler接口中定义了一系列的方法事件:诸如: [java] view plain copy print ? <EMBED style="-webkit-animation: playerInserted 0.001s" id=ZeroClipboardMovie_1 height=14 name=ZeroClipboardMovie_1 type=application/x-shockwave-flash align

SlidesJS基本使用方法_已整理

若如初见. 提交于 2019-12-06 09:09:05
来源 MZB大豆博客 Slides – 是一个简单的,容易定制和风格化,的jQuery幻灯片插件。 Slides提供褪色或幻灯片过渡效果,图像淡入淡出,图像预压,自动生成分页,循环,自动播放的自定义等很多选项。 用Slides插件,你可以随机播放幻灯片,设定那一套您想要开始幻灯片。它附带充分的说明和示例。 DEMO地址: http://slidesjs.com/ 官网地址: http://slidesjs.com/ 下载地址: http://slidesjs.com/downloads/slides.zip 基本的HTML结构 [html] view plain copy < div id = "slides" > < div class = "slides_container" > < div > < h1 > Slide 1 </ h1 > < p > Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. </ p > </ div > < div > < h1 > Slide 2 </ h1 > < p > Lorem ipsum dolor sit amet,

QEMU1.3.0的源码分析三:user model之linux

老子叫甜甜 提交于 2019-12-05 19:05:43
作者: snsn1984 从源码目录来看,user model有两块内容bsd-user和linux-user。我主要研究了下linux-user这种情况。 首先要提一下通常容易关注的焦点,linux-user下的函数入口点:/源码目录/linux-user/main.c中的 Line:3388 int main(int argc, char **argv, char **envp). 找到了入口函数,就可以根据这个main函数中的调用关系来看看这个情况下的主要执行流程和动作了。 int main(int argc, char **argv, char **envp) { module_call_init(MODULE_INIT_QOM); qemu_cache_utils_init(envp); /*初始化了tcg的相关部分,包含了cpu动态转化的一些初始化操作。*/ tcg_exec_init(0); cpu_exec_init_all(); /*包含了虚拟cpu的初始化*/ env = cpu_init(cpu_model); /*加载可执行程序,即Guest code*/ ret = loader_exec(filename, target_argv, target_environ, regs, info, &bprm); target_set_brk(info->brk)

七天LLVM零基础入门(Linux版本)------第三天

馋奶兔 提交于 2019-12-05 13:53:51
作者: snsn1984 第二天的任务中的LLVM IR的文档( http://llvm.org/docs/LangRef.html ) 对于初学者来说,看起来一定很费劲,内容繁杂,找不到头绪,看了后边的忘记了前面的,这些都是很正常的。但是,这里需要注意的是,不管多烦躁,一定要硬着 头皮先把这个文档通读一遍,在读的同时,可以自己写一个小程序,根据前面学习的使用clang的命令将该程序转换成.ll格式的,然后在阅读文档的同时, 对照.ll格式的文件,去实际的看一看,到底说的是什么样的东西,然后这样才能加深印象,才能让阅读文档变得不那么艰难。 下面开始今天的学习任务: 第一步:复习LLVM IR的文档( http://llvm.org/docs/LangRef.html ) 复习该文档的时候,略微有些侧重点,就是该文档从开始的部分,一直到 http://llvm.org/docs/LangRef.html#other-values 这个部分之前,都要仔细复习一遍。后面的内容,大致的过一遍,以后要用到的时候,可以找到地方就行。 第二步:阅读文档 ( http://llvm.org/docs/ProgrammersManual.html ) 这个文档从名字就可以看出来是干什么用的,这个就是LLVM的编程指引,相对来说这个文档没那么长,但是里面的东西很重要,希望在阅读的过程中 认真阅读。同时

CreateDocumentFragment的用处

為{幸葍}努か 提交于 2019-12-04 20:11:54
一旦把节点添加到document.body(或其后的节点)中,页面就会立即反映出这个变化。对于少量的更新,这是很好的。然而,当要向 document.body添加大量数据时,如果逐个添加这些节点,这个过程有可能会十分缓慢。为解决这个问题,可以创建一个文档碎片,把所有的新节点附 加其上,然后把文档碎片的内容一次性添加到document中。 假设你想创建十个新段落。你可能这样写: var arrText = [ " 1 " , " 2 " , " 3 " , " 4 " , " 5 " , " 6 " , " 7 " , " 8 " , " 9 " , " 10 " ]; for ( var i = 0 ;i < arrText.length;i ++ ) ... { var op = document.createElement( " P " ); var oText = document.createTextNode(arrText[i]); op.appendChild(oText); document.body.appendChild(op); } 这段代码运行良好,但问题是它调用了十次document.body.appendChild(),每次要产生一次页面刷新。这时,文档碎片会更高效: var arrText = [ " 1 " , " 2 " , " 3 " , " 4

七天LLVM零基础入门(Linux版本)------第二天

混江龙づ霸主 提交于 2019-12-04 17:04:09
作者: snsn1984 在第一天的时候,我们简单了解了llvm和clang。今天我们继续对LLVM进行学习。 第一步:学会如何查找LLVM的文档 LLVM的文档很多,也很全面,是开源软件中文档比较全面并且比较细致的,这是很难得的一个事情。所以只要和LLVM打交道,就一定要学会并且善于去使用这些LLVM的文档。 因为LLVM文档比较多,初学者可能不太容易搞清楚,我之前写过一个关于LLVM的文档的博文,可以参考: http://blog.csdn.net/snsn1984/article/details/8165529 这个博文把文档的地址和文档的分类进行了简单介绍。 第二步:熟悉LLVM的IR IR是 intermediate representation 的缩写,顾名思义是中间表示的的缩写。中间表示已经被越来越多的编译器所采用,传统的编译器多采用汇编语言作为自己的中间语言,而现在大一些的编译器都有了自己专属的中间表示。LLVM IR的官方文档地址: http://llvm.org/docs/LangRef.html 简要介绍可参加我之前的博文: http://blog.csdn.net/snsn1984/article/details/8037414 LLVM IR是整个LLVM框架中极其重要的一部分,一般与LLVM相关的项目都无法避开LLVM IR这个部分