gpt4 book ai didi

linux - 将 Linux 源代码解析为抽象语法树

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:41:33 25 4
gpt4 key购买 nike

我想对 Linux 内核进行源代码分析,但要做到这一点,我首先需要对其进行解析。我有哪些选择?我更喜欢可从 python 中使用的 AST,但任何其他语言也可以。

显然 CIL能够解析整个内核,但网站上并不清楚如何解析。

最佳答案

我建议从 sparse 开始静态分析工具。因为 sparse 是专门为帮助内核开发人员对内核执行静态分析而设计的,所以您可以在某种程度上保证它确实应该解析在内核中使用的 C99 和 GNU 扩展的组合内核源代码。我检查过的代码看起来干净直接,但我从未尝试以任何方式扩展它。 Documentation/sparse.txt 文件有一个关于在内核源代码上使用 sparse 的非常简短的概要,如果您想要一个非常高级的概述。

另一个选项是 GCC MELT ,一个旨在使为 gcc 编译器构建插件变得更容易的工具。使用它需要了解足够的 gcc 内部知识才能找到解决方法,但 MELT 看起来确实比直接在 C 中编写类似的插件容易得多。

关于linux - 将 Linux 源代码解析为抽象语法树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8428408/

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