自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

梦在哪里的博客

不断学习,不断进步

  • 博客(115)
  • 资源 (1)
  • 收藏
  • 关注

翻译 使用Clang作为库 —— Clang 的重构引擎

Clang 的重构引擎1. 介绍2. 重构操作规则(Refactoring Action Rules)3. 规则类型4. 如何创建规则5. 重构操作规则需求(Refactoring Action Rule Requirements)6. 选择需求(Selection Requirements)7. 其他需求8. 重构选项(Refactoring Options)本文为译文,点击此处查看原文。本...

2019-06-04 09:49:37 1533

原创 使用Clang作为库 —— JSON Compilation Database Format Specification

JSON Compilation Database Format Specification

2019-05-30 14:55:05 4367

原创 使用Clang作为库 —— 如何为 LLVM 设置 Clang Tooling

如何为 LLVM 设置 Clang 工具

2019-05-30 14:53:26 2571 2

翻译 使用Clang作为库 —— Matching the Clang AST

Matching the Clang AST

2019-05-30 14:52:20 1458

原创 使用Clang作为库 —— 使用 LibTooling 和 LibASTMatchers 构建工具的教程

使用 LibTooling 和 LibASTMatchers 构建工具的教程

2019-05-30 14:51:16 6963 5

原创 使用Clang作为库 —— 如何编写基于 ASTFrontendActions 的 RecursiveASTVisitor

如何编写基于ASTFrontendActions的RecursiveASTVisitor

2019-05-30 14:29:49 4953 6

原创 使用Clang作为库 —— Clang Plugins

Clang Plugins

2019-05-30 14:28:45 2260

原创 使用Clang作为库 —— LibFormat

LibFormat1. 设计2. 接口3. Style Options本文为译文,点击此处查看原文。LibFormat是一个基于Clang实现自动源代码格式化的库。本文档描述了LibFormat接口和设计,以及一些基本的样式讨论。如果您只想使用clang-format作为一个工具或集成到一个编辑器中,请签出ClangFormat。1. 设计FIXME:补充设计。2. 接口LibFor...

2019-05-30 14:27:37 973

原创 使用Clang作为库 —— 外部Clang示例

外部Clang示例1. 介绍2. 项目和工具列表本文为译文,点击此处查看原文。1. 介绍本页面提供了一些人们使用 Clang 所做的事情的示例,这些示例可以作为开发自己工具的有用指南(或起点)。它们甚至可能对一些像如何设置您的构建以集成Clang这样普通(但必要)的东西都有帮助。Clang基于库的设计旨在促进外部项目的使用,我们一直对改进 Clang 以更好地服务于外部用户感兴趣。Clan...

2019-05-30 11:32:06 1934

原创 使用Clang作为库 —— 为应用程序选择正确的接口

为应用程序选择正确的接口1. LibClang2. Clang Plugins3. LibTooling本文为译文,点击此处查看原文。Clang提供了用于编写需要有关程序的语法和语义信息的工具的基础设施。本文将简要介绍编写clang工具的不同方法,以及它们的优缺点。1. LibClangLibClang是clang的一个稳定的高级C接口。当你有疑问时,LibClang可能是您想要使用的接口...

2019-05-30 10:52:03 1491

原创 DOM(Document Object Model,文档对象模型)

DOM1. 历史2. 标准3. 应用程序3.1 Web浏览器3.2 JavaScript4. 实现4.1 布局引擎(Layout engines)4.2 库5. 参考文献本文为译文,点击此处查看原文。文档对象模型(DOM)是一个跨平台的、独立于语言的应用程序编程接口,它将XML文档视为树结构,其中每个节点都是表示文档一部分的对象。DOM表示具有逻辑树的文档。树的每个分支都以一个节点结束,每个节...

2019-05-29 17:39:39 1497

原创 Duck typing

Duck typing1. 示例2. 在静态类型语言中3. 与其他类型系统的比较3.1 结构化类型体系3.2 协议与接口3.3 模板或泛型类型4. 批评4.1 对术语本身的批评5. 其他资料6. 参考文献本文为译文,点击此处查看原文。在计算机程序设计中,Duck typing是Duck test的一个应用程序 —— “如果它像鸭子一样走路,像鸭子一样嘎嘎叫,那么它一定是鸭子” —— 用于确定一...

2019-05-29 15:03:59 889

原创 AST(Abstract syntax tree,抽象语法树)

AST1. 在编译器中的应用程序1.1 动机1.2 设计1.3 设计模式1.4 使用2. 另请参阅3. 参考文献4. 进一步的阅读本文为译文,点击此处查看原文。有关语言学中使用的树,请参见具体语法树。在计算机科学中,抽象语法树(AST),或简称语法树,是用编程语言编写的源代码的抽象语法结构的树表示。树的每个节点表示源代码中出现的一个构造。语法是“抽象的”,因为它并不代表真实语法中出现的每个细节...

2019-05-28 17:45:10 9732

翻译 使用Clang作为库 —— Clang AST

Clang AST1. 介绍2. 检查AST3. AST Context4. AST节点本文档温和地介绍了Clang AST的神秘之处,主要针对那些希望为Clang做贡献的开发人员,或者使用基于Clang AST的工具(如AST matchers)的开发人员。1. 介绍Clang的AST不同于其他编译器生成的AST,因为它非常类似于编写的C++代码和C++标准。例如,括号表达式和编译时常量在...

2019-05-28 12:48:18 6352

原创 使用libclang解析C++代码

使用libclang解析C++代码1. libclang?2. libclang!3. 基本的例子4. Cursors(游标)5. Visit children6. CXString7. 打印有意义的输出8. 一个更复杂的例子9. 总结10. 完整的代码本文为译文,点击此处查看原文。在本文中,我将提供一个使用libclang的快速教程。我开始试用libclang,同时实现了一个面向c++的开源...

2019-05-28 12:17:11 15234 5

原创 动态链接库和静态链接库

库的介绍库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。库有两种:静态库(.a、.lib)和动态库(.so、.dll)。 windows上对应的是.lib .dll linux上对应的是.a .so在这里先介绍下Linux下的gc...

2019-05-27 17:56:10 738

原创 GCC编译过程

1. GCC定义目前 Linux 下最常用的 C 语言编译器是 GCC ( GNU Compiler Collection ),它是 GNU 项目中符合 ANSI C 标准的编译系统,能够编译用 C 、 C++ 和 Object C 等语言编写的程序。 GCC 不仅功能非常强大,结构也异常灵活。最值得称道的一点就是它可以通过不同的前端模块来支持各种语言,如Java 、 Fortran 、 Pas...

2019-05-24 17:56:19 2858

原创 linux下gcc默认搜索头文件及库文件的路径

1. 头文件gcc在编译时如何去寻找所需要的头文件:头文件的搜索会从-I指定的目录开始;然后搜索gcc的环境变量 C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJC_INCLUDE_PATH 设置的目录;再搜索系统目录 /usr/include 和 /usr/local/include(centos7中该目录下是空的);最后搜索gcc的一系列自带目录(如/us...

2019-05-24 17:07:47 6093

原创 dpkg与rpm、apt-get与yum

dpkg与rpm、apt-get与yum1. dpkg2. rpm3. apt4. yum目前的linux系统大致分为两类:RedHat 系列:Redhat、Centos、Fedora 等,使用rpm;Debian 系列:Debian、Ubuntu 等,使用dpkg。由于自由软件的蓬勃发展,怎么管理越来越多的软件对于linux系统来说非常关键。1. dpkgdpkg(package...

2019-05-24 16:30:06 1658

原创 如何在LINUX和UNIX中设置PATH

如何在LINUX和UNIX中设置PATH1. 什么是path?2. 为什么要设置PATH变量?3. 如何查看路径变量值?4. 如何设置路径变量?5. 如何永久设置路径变量?本文为译文,点击此处查看原文1. 什么是path?path是操作系统文件系统中文件或文件夹的唯一位置。一个文件的path是/和字母数字字符的组合。2. 为什么要设置PATH变量?PATH变量是系统变量或环境变量,用于存...

2019-05-24 14:05:28 1571

原创 linux系统目录详解

linux系统目录详解1. /bin文件夹相关1.1 /bin1.2 /sbin1.3 /usr/bin1.4 /usr/sbin1.5 /PATH/TO/SOME/BIN(/usr/local/bin)1.6 /PATH/TO/SOME/SBIN(/usr/local/sbin)2. /boot文件夹2.1 /boot/config-2.6.18-194.17.1.el5文件2.2 /boot/...

2019-05-24 12:38:35 2800

转载 新小米手机--首次使用

开始使用小米手机1、手机开机2、选择语言3、连接互联网4、使用条款5、登陆小米账号6、开启查找手机7、恢复数据8、其他设置9、个性化风格10、系统导航方式11、完成本文转载自:https://www.mi.com/service/miphone/firstuse/在设置过程中,填写或设置错误随时可以点击“返回”键,返回上一步重新填写或设置。1、手机开机长按电源键将手机开机,点击“箭头”进入...

2019-05-15 13:26:36 5905

转载 HTML 样式

HTML 的 style 属性style 属性的作用:提供了一种改变所有 HTML 元素的样式的通用方法。样式是 HTML 4 引入的,它是一种新的首选的改变 HTML 元素样式的方式。通过 HTML 样式,能够通过使用 style 属性直接将样式添加到 HTML 元素,或者间接地在独立的样式表中(CSS 文件)进行定义。不赞成使用的标签和属性在 HTML 4 中,有若干的标签和属性是被废...

2019-05-08 09:26:37 232

转载 Office Tool 四月份问题反馈汇总

Office Tool 四月份问题反馈汇总问题 1:Office 无法安装问题 2:Office 无法激活问题 3:Office 无法启动,Office 使用异常问题 4:Office Tool 无法正常启动问题 5:无法更改更新通道问题 6:如何更改 Office 的安装位置小小的总结本文转载自:https://www.landiannews.com/archives/58229.html在...

2019-05-06 15:05:59 14313 1

原创 LLVM常用命令

.cpp -> .bc/.llclang++ -emit-llvm -c test.cpp -o test.bcclang++ -emit-llvm -S test.cpp -o test.ll.bc -> .ll & .ll -> .bcllvm-dis test.bc -o test.llllvm-as test.ll -o test.bc.bc/.ll...

2019-04-30 09:21:39 2081

原创 C++开源软件

tinyserver:https://www.oschina.net/p/tinyserverejson:https://www.oschina.net/p/ejson

2019-04-28 11:05:21 369

原创 KHTML

语言:C++介绍地址:https://api.kde.org/frameworks/khtml/html/index.html获取源代码:git clone https://anongit.kde.org/khtml.git

2019-04-28 10:23:07 1325

原创 浏览器内核

浏览器内核1. 简介2. 内核分类2.1 Trident2.2 Gecko2.3 Presto2.4 Webkit2.5 Blink3. 排版引擎3.1 WebCore3.2 KHTML4. JavaScript引擎1. 简介浏览器内核(Rendering Engine)的通俗解释就是渲染引擎,负责对网页语法的解释(如HTML、JavaScript)并渲染(显示)网页, 可认为包含排版引擎和J...

2019-04-26 18:00:15 509

原创 附录 - 常见问题解答

1. Building1.1 Why is my program trying to link to a Boost library?(为什么我的程序试图链接到一个Boost库?)如果您已经定义了RCF_USE_BOOST_SERIALIZATION,那么RCF将需要链接到Boost.Serialization库。如果您已经定义了RCF_USE_BOOST_FILESYSTEM,那么RCF将...

2019-04-19 14:43:21 545

原创 RCF简介

RCF简介1. What is RCF?2. Why should I use RCF?1. What is RCF?RCF (Remote Call Framework,远程调用框架)是一个面向C++的跨平台进程间通信框架。与其他通信框架不同,RCF不使用单独的IDL(Interface Definition Language,接口定义语言)。RCF接口是在C++中直接定义的,用户定义数据...

2019-04-18 17:04:50 6480

原创 boost共享库无法加载解决方案

./test1: error while loading shared libraries: libboost_serialization.so.1.70.0: cannot open shared object file: No such file or directory之前的c++文件编译g++ -o test boost_test.cpp -IBOOSTINCLUDE−LBOOST_I...

2019-04-18 08:17:40 2120

原创 JavaWeb问题汇总

JavaWeb问题汇总1. 页面请求时出现错误:The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.1. 页面请求时出现错误:The origin server did not find a cur...

2019-04-17 12:21:44 907

转载 myeclipse修改乱码(编码格式修改)

myeclipse修改乱码(编码格式修改)一、设置新建常见文件的默认编码格式,也就是文件保存的格式。二、设置新建其他文件的默认编码格式,即文件保存格式。三、单个文件查看编码格式(也就是打开文件用的编码格式)更改。这个方法没有更改文件的编码格式,只是告诉MyEclipse用何种编码格式进行解码。四、指定MyEclipse编写文件时页面内容数据编码格式,如html,或者jsp网页中提交表单前,用户输入...

2019-04-15 15:26:52 708

原创 MySQL问题汇总

MySQL问题汇总1. 问题:Client does not support authentication protocol requested by server1. 问题:Client does not support authentication protocol requested by server进入MySQL命令行,运行下面的命令方案1alter user 'root'@...

2019-04-15 14:33:12 169

原创 My Eclipse问题汇总

Java Web问题汇总1. 问题:The import javax.servlet cannot be resolved1. 问题:The import javax.servlet cannot be resolved方案1:在项目还没有导入的时候,选择target runtime为“你的运行时tomcat”,如图:方案二:如果项目已经导入,在Eclipse/Myeclipse中,右击...

2019-04-15 14:24:47 556

原创 LLVM语言参考手册

LLVM语言参考手册1. 摘要(Abstract)2. 简介(Introduction)2.1 结构良好性(Well-Formedness)3. 标识符(Identifiers)4. 高级结构(High Level Structure)4.1 模块结构(Module Structure)4.2 链接类型(Linkage Types)4.3 调用约定(Calling Conventions)4.4 ...

2019-04-11 11:51:31 5468 2

原创 llvm得到annotations

原文问题我用一个新的表格更新了之前的问题。大家好,我有以下LLVM IR:@.str = private unnamed_addr constant [3 x i8] c"DS\00", section "llvm.metadata"@llvm.global.annotations = appending global [1 x { i8*, i8*, i8*, i32 }] [{ i8...

2019-04-04 12:13:13 1082

原创 Cppdepend

Cppdepend1. 简介2. 特性3. 通过LINQ查询(CQLinq)制定代码规则4. 参考资料5. 扩展链接1. 简介CppDepend是一个用于C/C++代码的静态分析工具。此工具支持大量代码度量,允许使用有向图和依赖关系矩阵可视化依赖关系。这些工具还执行代码基快照比较,以及架构和质量规则的验证。用户定义的规则可以使用LINQ查询编写。这种LINQ查询被称为CQLinq。该工具还附带...

2019-03-27 18:18:42 2318

原创 codeviz

codeviz1. 这些内容从何而来?2. README3. 简介4. 安装5. 脚本6. 为 genfull 生成 cdepn 文件7. 为 genfull 生成 nccout 文件8. 生成 full.graph9. 关于 full.graph 可能存在的问题10. 生成调用图10.1 gengraph -f alloc_pages10.2 gengraph -d 10 -f alloc_pa...

2019-03-27 17:54:11 2335

转载 使用 codeviz 绘制函数的调用图

使用 codeviz 绘制函数的调用图1. 简介2. 安装graphviz3. 安装codeviz1. 简介codeviz官网:https://github.com/petersenna/codevizcodeviz是一款分析C/C++源代码函数调用关系的工具,通过它可以生成函数调用关系图(call graph)。其基本原理是给gcc打个补丁,让gcc在编译每个源文件时,将其中的函数的调用关...

2019-03-27 16:22:31 1279

OpenSSH-7.9p1 INSTALL

OpenSSH-7.9p1 INSTALL 文件英文版本,描述了 OpenSSH的安装与配置。

2019-09-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除