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

时间:2014-07-25 14:22:28

标签: python pycparser

我正在尝试使用pycparser解析C文件。我很想知道,在预处理C文件的同时,pycparser只读取伪lib文件夹中提供的那些库文件(如果你在cpp_args中提供假lib的路径),或者它也从包含中提到的位置读取陈述,例如 -
在下面

#include<folder1/folder2/xyz.h>  

pycparser在哪里搜索xyz.h只会在FAKE LIB文件夹中?

1 个答案:

答案 0 :(得分:3)

它将搜索除假文件夹以外的其他目录。如果查看文件pycparser/__init__.py,您将找到一个名为preprocess_file的函数,该函数调用输入文件中的C预处理器并将结果输出放入一个字符串中,然后将其传递给下一个名为parse_file的函数。每个函数中的代码都相当清晰且评论很好,因此请阅读它并查看它是否有意义。

虚假文件夹仅包含在stdlib.hstdio.h等标准库标题中。这些标头通常包含非可移植的特定于编译器的扩展;很有可能,您只需要知道有一个函数printf(...),以便能够解析您的代码。