Clang使用经验分享

2019-07-19  本文已影响0人  木易林1

源码地址:

http://opensource.apple.com
or
http://clang.llvm.org/

编译链接

clang -fobjc-arc -framework Foundation test.m -o test

编译阶段分析

$  clang -ccc-print-phases test.m
0: input, "test.m", objective-c
1: preprocessor, {0}, objective-c-cpp-output
2: compiler, {1}, assembler
3: assembler, {2}, object
4: linker, {3}, image
5: bind-arch, "x86_64", {4}, imag

预处理

clang -E test.m

词法解析

clang -Xclang -dump-tokens test.m

语法解析

clang -Xclang -ast-dump -fsyntax-only test.m

代码生成

clang -O3 -emit-llvm test.m -c -o test.bm

LLVM反编译

../Tools/llvm-3.6.1/bin/llvm-dis < test.bm | less 

clang test.m -framework Foundation
clang -rewrite-objc test.m

上一篇下一篇

猜你喜欢

热点阅读