LLVM每日谈之七 Clang

作者:snsn1984

        官方介绍Clang是LLVM native的一个面向C/C++/Objective-C的编译器,目标是要提供一个编译非常快的编译器。他们宣称在Debug模式下编译Objective-C比GCC快3倍。至于是否能比GCC快这么多,总有人去做对比,大家可以搜索下,好像确实快了些。

Clang一般被说是LLVM的一个前端。关于前端的定义,大家可以从LLVM每日谈之二里面看到前端在整个LLVM体系中的位置。Clang当初的定位就是要做下一个十年中一个伟大的前端,这也是苹果公司需要的。谈到苹果,现在也是LLVM最大的赞助商。苹果公司认为GCC的前端越来越不好用,并且不能给苹果的IDE提供很好的服务,所以他们转向了LLVM,Clang的定位就是替代GCC的前端。
Clang需要单独下载源码,放到LLVM Source/tools下面,然后整个编译LLVM才行。一般大家按照官方文档编译,都是已经放了Clang了。开始学习Clang文档的地址: http://clang.llvm.org/get_started.html 。这里下载源码的话使用svn下载的是最新的主干版本,大家可以从首页找到最后的发布版本的下载, 地址在: http://llvm.org/releases/  。这里可以看到发布的各个版本,目前最新的是3.1, 马上3.2就要出来了。从这里把编译Clang需要的LLVM,Clang,Compiler-RT(这个容易忘记)都下载好,放到相应的目录(目录怎么放,根据svn命令可以看出来)。
安装好了,大家就可以开始试试效果了。在 http://clang.llvm.org/get_started.html 有基本的命令。
要创建一个LLVM工程,可以按照以下步骤进行: 1. 安装LLVM:首先需要安装LLVM,可以从官网(https://llvm.org/releases/)下载预编译的二进制文件或者源代码,根据操作系统和编译器版本进行选择。如果使用二进制文件,则需要将安装目录添加到系统路径中。 2. 创建工程:使用LLVM的CMake构建系统可以创建一个LLVM工程。首先创建一个目录用于存放工程文件,然后在该目录下创建一个CMakeLists.txt文件,其中包含以下内容: ``` cmake_minimum_required(VERSION 3.4.3) project(MyLLVMProject) find_package(LLVM REQUIRED CONFIG) add_definitions(${LLVM_DEFINITIONS}) include_directories(${LLVM_INCLUDE_DIRS}) add_executable(my-llvm-program main.cpp) llvm_map_components_to_libnames(llvm_libs support core irreader) target_link_libraries(my-llvm-program ${llvm_libs}) ``` 其中,`project`命令用于指定工程名称,`find_package`命令用于查找LLVM的配置信息,`add_definitions`命令用于添加LLVM的编译选项,`include_directories`命令用于包含LLVM的头文件,`add_executable`命令用于定义可执行文件,`llvm_map_components_to_libnames`命令用于将LLVM组件映射到对应的库文件,`target_link_libraries`命令用于链接LLVM库文件。 3. 编写代码:在工程目录下创建一个main.cpp文件,编写LLVM代码。 4. 编译工程:使用CMake命令生成Makefile文件,然后使用make命令进行编译。 ``` mkdir build cd build cmake .. make ``` 5. 运行程序:编译完成后,在控制台中输入`./my-llvm-program`命令即可运行LLVM程序。 以上就是创建一个LLVM工程的基本步骤。需要注意的是,LLVM的使用需要熟悉其API和IR的相关知识。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值