负责文件搜索,打开,读取,缓存。处理主要源代码以及递归包含的头文件。
基本策略是使系统调用的个数最少。在一些系统中,open() , fstat()一类的函数花销很大。每一个#include-d 文件,需要搜索所有的文件或者目录直到找到目标。一些项目中,如glibc,在调用命令中指明了20-30个库目录,这使得搜索十分耗时。
本文介绍了一个文件处理模块的设计思路,该模块旨在减少系统调用次数,提高文件搜索、打开及读取效率。特别关注了递归包含的头文件处理方式,并讨论了在大型项目中如何避免长时间的文件搜索。
负责文件搜索,打开,读取,缓存。处理主要源代码以及递归包含的头文件。
基本策略是使系统调用的个数最少。在一些系统中,open() , fstat()一类的函数花销很大。每一个#include-d 文件,需要搜索所有的文件或者目录直到找到目标。一些项目中,如glibc,在调用命令中指明了20-30个库目录,这使得搜索十分耗时。
1061

被折叠的 条评论
为什么被折叠?