Python pycparser如何读取C代码文件中包含的头文件?

Python pycparser如何读取C代码文件中包含的头文件?,python,pycparser,Python,Pycparser,我正在尝试使用pycparser解析C文件。我很想知道,在预处理C文件时,pycparser是否只读取假库文件夹中提供的库文件(如果您在cpp_args中提供假库的路径),或者也从包含语句中提到的位置读取,例如- 在下面的行中 #include<folder1/folder2/xyz.h> #包括 pycparser将在哪里搜索xyz.h?它将只在伪LIB文件夹中吗 它将搜索假文件夹以外的其他目录。如果查看文件pycparser/\uuuu init\uuuuuuu.py,您

我正在尝试使用pycparser解析C文件。我很想知道,在预处理C文件时,pycparser是否只读取假库文件夹中提供的库文件(如果您在cpp_args中提供假库的路径),或者也从包含语句中提到的位置读取,例如-
在下面的行中

#include<folder1/folder2/xyz.h>  
#包括

pycparser将在哪里搜索xyz.h?它将只在伪LIB文件夹中吗

它将搜索假文件夹以外的其他目录。如果查看文件
pycparser/\uuuu init\uuuuuuu.py
,您会发现一个名为
preprocess\u file
的函数,该函数调用输入文件上的C预处理器,并将结果输出放在字符串中,然后传递给下一个名为
parse\u file
的函数。每个函数中的代码都相当清晰,注释也很好,所以请仔细阅读,看看是否有意义

伪文件夹仅用于标准库标题,如
stdlib.h
stdio.h
等。这些头文件通常包含不可移植的特定于编译器的扩展;很可能,您只需要知道有一个函数
printf(…)
,就可以解析代码