gpt4 book ai didi

python - 使用预处理器输出的 pycparser 错误

转载 作者:太空宇宙 更新时间:2023-11-04 03:55:24 24 4
gpt4 key购买 nike

我使用 pycparser 来解析 C 代码,对于我的测试文件,它工作正常。我在 cpp 和头文件方面遇到了一些问题,所以我使用外部 cpp 并将预处理器的输出提供给 pycparser。使用我的测试文件一切正常,但使用来自真实软件项目的文件时出现错误。

ast = parse_file("layer2.c.o", use_cpp=False)

错误信息:

  File "/usr/local/lib/python2.7/dist-packages/pycparser/c_parser.py", line 1613, in p_error
column=self.clex.find_tok_column(p)))
File "/usr/local/lib/python2.7/dist-packages/pycparser/plyparser.py", line 54, in _parse_error
raise ParseError("%s: %s" % (coord, msg)) raise ParseError("%s: %s" % (coord, msg))

pycparser.plyparser.ParseError: /usr/include/stdint.h:58:1: before: __extension__

有人知道这个问题吗?

最佳答案

参见 FAQ关于 __extension__。通常,我看到您正在尝试解析包含的标准 header 。如果您改用 pycparser 附带的“假”C header ,您的生活将会容易得多。 Details here .

关于python - 使用预处理器输出的 pycparser 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18851104/

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