iosiOS开发iOS

基于LLVM开发属于自己Xcode的Clang插件

2018-08-16  本文已影响232人  估唔到

开发的插件效果如下

效果图.png

简介


本开发是基于LLVM,那么我们先来简单了解一下LLVM:

Chris Lattner.jpg

而什么是Clang呢?

实战分析


基本文件

编译工具

编译方式

1、ninja编译
2、Xcode编译

编写插件


1.目录

JJPlugin目录.png

2.代码

3.编译

4.加载

5.Hack Xcode

$ sudo mv HackedClang.xcplugin `xcode-select -print-
path`/../PlugIns/Xcode3Core.ideplugin/Contents/SharedSupport/Developer/Library/Xcode/Plug-ins

$ sudo mv HackedBuildSystem.xcspec `xcode-select -print- path`/Platforms/iPhoneSimulator.platform/Developer/Library/Xcode/Specifications

6.使用

总结


Clang 的开源给了我们更多的操作空间,我们可以利用clang的API针对语法树(AST)进行相应的分析和处理,进一步完善我们的需求,也能更好地提升我们代码的规范和质量。
附上关于语法树AST的资料:
https://clang.llvm.org/doxygen/namespaceclang.html
https://clang.llvm.org/doxygen/classclang_1_1Decl.html
https://clang.llvm.org/doxygen/classclang_1_1Stmt.html

上一篇 下一篇

猜你喜欢

热点阅读