LLVM 是一个开源的编译器架构,它已经被成功应用到多个应用领域。Clang是 LLVM 的一个编译器前端,它目前支持 C, C++, Objective-C 以及 Objective-C++ 等编程语言。Clang 对源程序进行词法分析和语义分析,并将分析结果转换为 AST ( 抽象语法树 ) ,最后使用 LLVM 作为后端代码的生成器。
Clang 的开发目标是提供一个可以替代 GCC 的前端编译器。与 GCC 相比,Clang 是一个重新设计的编译器前端,具有一系列优点,例如模块化,代码简单易懂,占用内存小以及容易扩展和重用等。由于 Clang 在设计上的优异性,使得 Clang 非常适合用于设计源代码级别的分析和转化工具。
今天,我们就简要的介绍一下如何在windows平台下利用Visual Studio安装和配置Clang并进一步进行基于Clang的编程。
首先,在windows下编译clang需要以下几个工具:
SVN。用于拉取clang的source code。下载地址:https://tortoisesvn.net/downloads.html
②版本在2013及以上的Visual Studio。下载地址:https://www.visualstudio.com/zh-cn/downloads/download-visual-studio-vs.aspx
Python。用于clang test。下载地址:https://www.python.org/downloads/
CMake。用于生成VS的solution文件。下载地址:http://www.cmake.org/cmake/resources/software.html
接着,就是编译clang的步骤
①拉取llvm的源码。在命令行中输入:svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
②拉取clang的源码。在当前目录输入:cd llvm\tools 进入子目录,输入:svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
③利用CMake生成VS的solution文件。首先,回到最开始的llvm目录之外,在与它同级的目录下建立一个新的文件夹build。接着,进入build文件夹中,根据对应的安装的vs的版本,在命令行中输入对应的命令
cmake -G "Visual Studio XXX" ..\llvm
其中,在XXX替换当前的VS版本,例如:若是2013版则输入12,若是2015版则输入14。如果此步骤成功,则可以在build中看到对应的.sln文件。
Build Clang。如果上面的步骤都已经成功,那么则直接打开llvm.sln文件,选择ALL_BUILD工程进行Build。这个过程会花费几个小时的时间。
完成。若上一步执行成功,那么你可以看到在build\Debug\bin中包含了clang.exe等多个可执行文件。此时可以将该路径加入到环境变量中,最后就可以在命令行中输入 clang --help 进行测试,看是否可以执行了。
至此,完整的一个在windows平台下进行clang配置的过程也就完成了。

windows平台下基于VisualStudio的Clang安装和配置的更多相关文章

  1. windows平台下基于QT和OpenCV搭建图像处理平台

        在之前的博客中,已经分别比较详细地阐述了"windows平台下基于VS和OpenCV"以及"Linux平台下基于QT和OpenCV"搭建图像处理框架,并 ...

  2. 叙Windows平台下基于MBR和UEFI的bootkit(一)--以MBR为例

    安全的对抗首先在权限方面,权限高的进程对权限低的权限就是就是降维打击,无往不利.当权限相同时,启动得早便为王.所谓的bootkit也就是基于这个思路设计的一种复杂病毒.它优先于Windows系统启动, ...

  3. windows 环境下基于Python 的GDAL 安装

    最近由于需要利用pytho处理地理空间数据,但是python本身并没有访问和处理地理空间数据的包,只能借助于GDAL(Geospatial Data Abstraction Library)来进行访问 ...

  4. HttpServer:一款Windows平台下基于IOCP模型的高并发轻量级web服务器

    HttpServer的特点1.完全采用IOCP模型,实现真正的异步IO,高并发.高可靠: 2.支持4G以上文件下载: 3.支持断点续传: 4.轻量级,体积小,服务器文件仅200多K,无任何依赖库: 5 ...

  5. windows环境下MySQL-5.7.12-winx64下载安装与配置

    系统:64位Win-7 官网压缩包:mysql-5.7.12-winx64.zip 前后花了一些时间,以前都是下载软件直接安装在本地,现在这个不一样,下载压缩包后要解压缩到安装目录,然后在控制台下配置 ...

  6. MongoDB学习总结(一) —— Windows平台下安装

    > 基本概念 MongoDB是一个基于分布式文件存储的开源数据库系统,皆在为WEB应用提供可扩展的高性能数据存储解决方案.MongoDB将数据存储为一个文档,数据结构由键值key=>val ...

  7. 在Windows平台下安装与配置Memcached及C#使用方法

    1.在Windows下安装Memcached 资料来源:http://www.jb51.net/article/30334.htm 在Windows平台下安装与配置Memcached的方法,Memca ...

  8. [转]Windows平台下安装Hadoop

    1.安装JDK1.6或更高版本 官网下载JDK,安装时注意,最好不要安装到带有空格的路径名下,例如:Programe Files,否则在配置Hadoop的配置文件时会找不到JDK(按相关说法,配置文件 ...

  9. Spotlight on Mysql在Windows平台下的安装及使用简介

    Spotlight on Mysql在Windows平台下的安装及使用简介   by:授客 QQ:1033553122 1.   测试环境 Win7 64位 mysql-connector-odbc- ...

随机推荐

  1. Enable Cross-Origin Requests in Asp.Net WebApi 2[Reprint]

    Browser security prevents a web page from making AJAX requests to another domain. This restriction i ...

  2. js自定义弹出框

    js自定义弹出框: 代码如下 <html> <head><title>自定义弹出对话框</title> <style type ="te ...

  3. Centos minimal安装

    Q:为什么要安装minimal版本?而不是完整版 A:因为它资源小啊 @ @ 怎么安装就不说了,网上资源大把,Centos7好像变化挺大,mysql都装不上,还是装6吧~ 1.安装完是不能联网的,解决 ...

  4. Java反射使用技巧

    1. 通过setAccessible关闭安全检查,关闭的目的不是因为访问的field/method是私有的,而且因为关闭后访问公有方法也不会再有安全检查. SomeObject someObject ...

  5. java 读写文件

    1. 读文件 import java.io.*; import java.util.*; public class test { public void test_readfile(String fi ...

  6. Linux配置notes

    终端支持中文输入: locale-gen en_US.UTF-8 export PYTHONIOENCODING=utf-8 export LANG="en_US.UTF-8" e ...

  7. (转)nodejs中npm常用命令

    npm install <name>安装nodejs的依赖包 例如npm install express 就会默认安装express的最新版本,也可以通过在后面加版本号的方式安装指定版本, ...

  8. JSP三大指令、七大动作、九大对象

    <%---------------------- JSP三大指令 -----------------------------%><%-- 1. page: language impo ...

  9. HBase的Write Ahead Log (WAL) —— 整体架构、线程模型

    解决的问题 HBase的Write Ahead Log (WAL)提供了一种高并发.持久化的日志保存与回放机制.每一个业务数据的写入操作(PUT / DELETE)执行前,都会记账在WAL中. 如果出 ...

  10. 面试 JavaWeb 部分

    1.Tomcat的优化经验 答:去掉对web.xml的监视,把jsp提前编辑成Servlet. 有富余物理内存的情况,加大tomcat使用的jvm的内存 2.HTTP请求的GET与POST方式的区别 ...