- 博客(5)
- 收藏
- 关注
转载 基于Clang的Source to Source源代码转换(一)
Clang中包含了非常多的关于抽象语法树(AST)的访问和操作的类和接口。我们程序开发人员可以直接通过继承其中的某些类,重写其中的关键成员方法,从而形成我们自己的对抽象语法树的操作。那么,首先我们简要介绍几个概念:抽象语法树(AST):抽象语法树是源代码的抽象语法结构的树状表现形式。树上的每个节点都表示源代码中的一种结构。之所以说语法是“抽象”的,是因为这里的语法并不会表示出真实语法中出现
2016-07-24 15:45:39 3200 1
转载 LLVM与Clang的概述及关系
LLVM是构架编译器(compiler)的框架系统,以C++编写而成,用于优化以任意程序语言编写的程序的编译时间(compile-time)、链接时间(link-time)、运行时间(run-time)以及空闲时间(idle-time),对开发者保持开放,并兼容已有脚本。LLVM计划启动于2000年,最初由University of Illinois at Urbana-Champaign的C
2016-07-18 21:07:54 4502
转载 windows平台下基于VisualStudio的Clang安装和配置
LLVM 是一个开源的编译器架构,它已经被成功应用到多个应用领域。Clang是 LLVM 的一个编译器前端,它目前支持 C, C++, Objective-C 以及 Objective-C++ 等编程语言。Clang 对源程序进行词法分析和语义分析,并将分析结果转换为 AST ( 抽象语法树 ) ,最后使用 LLVM 作为后端代码的生成器。Clang 的开发目标是提供一个可以替代 GCC
2016-06-27 22:38:17 12241
转载 C++面向对象中的向上转换 向下转换 以及OOP相关的类型转换
我们都知道,在C++中有很多类型转换。今天在这里,我们不讨论普通变量的类型转换(比如int转换成double等等)。本文主要讨论面向对象相关的类型转换:向上转换和向下转换。首先,我们定义一个基类Base和继承类Derived,相关代码如下://Base.hclass Base{ public: int i; Base(); void func
2016-06-16 20:18:30 3514
转载 c++中函数中变量内存分配以及返回指针、引用类型的思考
众所周知,我们在编程的时候经常会在函数中声明局部变量(包括普通类型的变量、指针、引用等等)。同时,为了满足程序功能的需要,函数的返回值也经常是指针类型或是引用类型,而这返回的指针或是引用也经常指向函数中我们自己声明的局部变量。这样,程序在某些情况下就可能存在一定的问题。看似很简单的问题,通过仔细的分析,我们就能够更好的理解c++中内存分配和释放的问题。好,废话不多说,我们进
2016-06-16 20:15:09 857
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人