WWDC2010 Session312 LLVM Compiler的新特性

本文介绍了LLVM(LowLevelVirtualMachine)编译器环境,它始于2000年,由UniversityofIllinoisatUrbana-Champaign大学的VikramAdve和ChrisLattner领导。LLVMCompiler2.0完全支持C++,并提供了更快的编译速度、更友好的错误信息等优势。此外,文章还提到了ClangFrontend和XcodeStaticAnalyzer等工具。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

LLVM(Low Level Virtual Machine)是新的compiler环境,用C++编写。LLVM project在University of Illinois at Urbana-Champaign大学的Vikram Adve和Chris Lattner的领导下,开始于2000年。当时,Lattner作为助教和硕士生刚刚加入此大学。后来在2005年,Lattner受雇于Apple。

Compiler Landscape

目前的三个编译器的架构:

3 compilers

Xcode 3.2.3中的LLVM Compiler并不支持C++。你只能使用LLVM-GCC。现在Xcode 4中的LLVM Compiler 2.0 已经完全支持C++。这就是为什么Xcode4的默认compiler是LLVM Compiler。不建议大家采用GCC 4.2,因为Apple因为不再fix GCC的bug了。

iOS4中的WebKit, JavaScriptCore, OpenSSL都是使用LLVM编译的。性能提升:Open SSL 28%, JavaScriptCore 11%。

LLVM Compiler

1. 编译快 - Debug builds大约是以前的3倍。

2. 更易使用

3. 优美而有意义的错误信息

Clang Frontend是C家族编程语言的解析器,可用于C, Objective-C, C++.

Clang 被好几个工具所用到: LLVM Compiler, Xcode Static Analyzer, Xcode 4, LLDB Debugger, OpenCL. Clang 被集成到了Xcode 4中完成下列功能:source code indexing, syntax highlighting, code completion, live warnings and Fix-its.
Xcode Static Analyzer
通过分析静态代码,自动发现bug(并非编译时)。

LLVM Compiler 2 C++的好处

1. 更快的编译速度

2. 优美而有意义的错误信息

3. 二进制完全兼容

4. 更好的遵守C++标准

5. 支持Objective-C++

性能C++编译性能: 快25%C++内存消耗: 少33%
将来的C++ '0x Standard

将会提供libc++来支持新的C++ standard.

libc++: A New C++ Standard library

我认为每个用Xcode的程序员都应该使用LLVM。

WWDC2010 Session312 What's New in the LLVM Compiler

Author: Chris Lattner - LLVM Chief Architect

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值