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. NONUNIFORM MEMORY ACCESS

    COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION In terms of commercia ...

  2. PARALLEL PROCESSING

    COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION

  3. js null 和 undefined

    undefined是一个特殊类型,null本质上是一个对象 typeof undefined//"undefined"typeof null//"object" ...

  4. ssl双向认证和单向认证原理

    有朋友在搞一个项目,周末有聊到一些安全性的东西,很自然会想起https,但https究竟如何实施,其原理又是什么? 基于ssl,一般的应用都是单向认证,如果应用场景要求对客户来源做验证也可以实现成双向 ...

  5. tomcat底层原理实现

    1.首先完成一个server类,用来接收客户端的请求:代码都在一个while(true)循环中,模拟tomcat一直在启动,其中绑定一个端口,用来监听一个端口,然后创建一个输入流,获取请求的输入流,然 ...

  6. LeetCode House Robber III

    原题链接在这里:https://leetcode.com/problems/house-robber-iii/ 题目: The thief has found himself a new place ...

  7. input只能输入数字并限制长度

    <style> /*在chrome下移除input[number]的上下箭头*/ input::-webkit-outer-spin-button,input::-webkit-inner ...

  8. C++学习笔记 四种新式类型转换

    static_cast ,dynamic_cast,const_cast,reinterpret_cast static_cast 定义:通俗的说就是静态显式转换,用于基本的数据类型转换,及指针之间的 ...

  9. myisam、innodb存储引擎比较

    MYSQL表类型(存储引擎) 1.概述 MySQL数据库其中一个特性是它的存储引擎是插件式的.用户可以根据应用需要选择存储引擎.Mysql默认支持多种存储引擎,以适用各种不同的应用需要.默认情况下,创 ...

  10. iOS 9后修改状态栏方法

    1.plist文件中添加View controller-based status bar appearance字段 值为NO 2.程序中添加 [UIApplication sharedApplicat ...