私は 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__
誰もこの問題を知っていますか?