• 《iOS-LLVM框架【2】》


     

     

     双击 xcodeproj 打开

     

     

     

     

    点击 Play 按钮开始编译
    编译完成以后在 Products 目录,show in Finder

     

     

     

     

     

     

    写完cpp文件后要编译 MJPlugin 

     

     注册插件,Add Action

    自定义 Consumer 类,继承自ASTConsumer 类

    编译

    重写HandleTranslationUnit 方法:

    这个方法在clang编译完 一棵语法树(如mj_person.m 文件编译完成)后调用

     

       

     

     换我们自己用Ninja 编译好的编译器

    XCodeHacking.zip

    .xcplugin 右键,显示内容

    HackedClang.xcspec文件中 ExecPath 换成自己的编译器全路径:

     

     

    Command + Shift + K:Clean 操作,清除上一次插件缓存

     接下来,指定某一行报这错误信息:

    如何扫描类名?==> 扫描语法树 

     

    效果已经出来了

    来解释来龙去脉:

     

     

     如果要开发更高级的插件:

    1)深入了解语法树;

    2)C++;

    推荐:龙书 + LLVM Cookbook 中文版

    https://www.bilibili.com/video/BV1ba4y147Uf

    iOS高级技术技巧|iOS — LLVM快速实现一个Clang前端插件

    讲得也还可以
     
  • 相关阅读:
    推荐19个很有用的 JavaScript 库
    李开复:我对年轻人是分享经验 不是要当导师
    DotNET企业架构应用实践数据库表记录的唯一性设计的设计兼议主键设定原则
    cookies,session,viewstate浅析
    不是HR,Leader你到底需要招什么样的程序员(变形金刚?超人?可能吗!)
    IBatis.Net学习笔记系列文章
    学习mvc的一些资料
    数据库日常维护常用的脚本部分收录
    设定Grid行的颜色
    被WSS3.0耍了一把
  • 原文地址:https://www.cnblogs.com/cx2016/p/13032321.html
Copyright © 2020-2023  润新知