gpt4 book ai didi

Objective-C header 解析

转载 作者:太空狗 更新时间:2023-10-30 03:41:56 25 4
gpt4 key购买 nike

我需要解析一些 Objective-C header 。

  • 我试过使用 Doxygen 并解析 XML 输出,但它不完全支持没有注释的 Objective C header (它阻塞了属性中定义的宏,检查 Doxygen not properly recognizing properties )<
  • 我也尝试过使用appledoc,但XML 输出不够完整(例如,没有类的继承信息),而且属性宏也有同样的问题。
  • 我也尝试过解析库 Objective C 元数据的输出(使用 otool),但注意到元数据不保留方法的类型(所以你得到 method :(id)参数:(id))

有谁知道一个好的工具来做我想做的事?我怀疑 clang 会帮助我,但到目前为止 -ast-dump 和类似的选项只是试图为我没有的源生成 AST(仅 header )。

最佳答案

您可以使用 libclang。 libclang 是一个编程接口(interface),旨在实现语法高亮显示和代码完成等工具。

clang -ast-dump 对我有用。 (注意驱动不支持-ast-dump,所以你必须做一些额外的工作来传递驱动通常处理的标志。你可以使用clang -### ... 以准确查看驱动程序在做什么。)

% clang -cc1 -ast-dump -fblocks -x objective-c /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h
[...]
|-ObjCInterfaceDecl 0x1023727c0 <line:50:1, line:96:2> NSObject
| |-ObjCProtocol 0x102371350 'NSObject'
[...]

关于Objective-C header 解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17583412/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com