减少搜索头文件的目录数

简介: 本文转自李云的博客:http://blog.csdn.net/hzliyun/article/details/9340843。假设存在下图所示的项目目录结构:如果存在如下包含头文件的代码,则大多的项目中需要通过“-I foo”和“-I bar”指明两个搜索头文件的目录。

本文转自李云的博客:
http://blog.csdn.net/hzliyun/article/details/9340843


假设存在下图所示的项目目录结构:

这里写图片描述


如果存在如下包含头文件的代码,则大多的项目中需要通过“-I foo”和“-I bar”指明两个搜索头文件的目录。

foo.c
#include "bar.h" 

bar.c
#include "foo.h" 

然而,当项目规模很大存在很多的目录时,这种方式将显著地降低项目的编译速度。因为“-I”选项使用得越多,意味着编译每一个C文件时所需进行头文件搜索的目录也越多。

为了避免这一问题,我们可以将代码改为:

foo.c
#include "bar/bar.h" 

bar.c
#include "foo/foo.h" 

如此一来,整个项目只需一个“-I src”选项就行了。

促使我意识到这一问题,是因为前段时间看到Blink开源项目的一封邮件,其中谈到采用上面的第二种方法后,在Windows上编译Blink的速度提高了40%。

目录
相关文章
|
8月前
|
算法 前端开发
在系统中查找重复文件
在系统中查找重复文件
89 0
|
8月前
|
Linux
百度搜索:蓝易云【Linux中如何检查或删除文本文件重复出现的行列?】
如果文件特别大,可以考虑使用 `sort -u`命令,它可以直接删除重复行并排序,但是对于大文件可能会消耗较多内存。例如:`sort -u file.txt > file_without_duplicates.txt`。
97 0
|
3月前
步骤 5统计每个子文件夹语音文件数量
【10月更文挑战第9天】步骤 5统计每个子文件夹语音文件数量.
43 1
|
3月前
|
IDE 开发工具 iOS开发
Python编程案例:查找指定文件大小的文件并输出路径
Python编程案例:查找指定文件大小的文件并输出路径
35 3
|
7月前
如何搜索[仅有1个文件]或[指定个数范围、名称、类型文件等复杂情况]的文件夹
该文介绍了使用特定工具批量搜索文件夹的教程。首先,从提供的百度网盘或蓝奏云链接下载工具。然后打开工具,切换到批量复制板块,并通过快捷键Ctrl+5进入。接着,在工具边缘触发搜索添加功能,选择要搜索的文件夹并设置过滤条件。在过滤窗口中,根据文件和文件夹的数量以及指定的后缀名(如.html)来设定条件。例如,设置条件查找仅包含1个.html文件的文件夹。应用过滤条件后开始搜索,结果将显示在界面中,可通过双击行号或右键操作来查看和管理搜索结果。通过调整过滤条件的精确度,可以更准确地找到所需内容。该方法适用于各种复杂的搜索需求,结合不同按钮和选项能实现更多功能。
|
6月前
|
Windows
修改SubVI的LabVIEW默认搜索路径
修改SubVI的LabVIEW默认搜索路径
92 0
|
8月前
|
Windows
(文件[夹]批量分类整理_多级匹配_交叉匹配_路径结构交叉调整)文件[夹]批量复制
该文介绍了如何使用特定工具进行批量文件整理。首先,需要从提供的百度网盘和蓝奏云链接下载工具,并用提取码解锁。接着,打开工具的批量复制功能,将待整理的图片文件拖入“来源路径”,目标文件夹拖入“终点路径”。通过层级过滤排除不需要的路径。然后,利用多级匹配设置,提取文件名和路径中的关键词,如“动物”、“小型”、“食草”等,设置复制后的文件重命名规则。最后,执行批量复制,完成文件的智能分类与命名。整个过程旨在根据文件的原始分类信息,自动将其移动到相应的新目录结构下。
|
8月前
|
XML 缓存 算法
C#非强签名dll搜索顺序
C#非强签名dll搜索顺序
|
8月前
|
Shell
grep 搜索当前文件夹下的所有子文件中的文件是否包含8888字符串的命令
要在当前文件夹及其所有子文件夹中的文件中搜索包含字符串 "8888" 的文件,你可以使用 grep 命令结合 -r 或 -R 选项(表示递归搜索)。这里是具体的命令: bash grep -r "8888" . 其中: -r 或 -R:递归搜索。 "8888":你要搜索的字符串。 .:表示当前目录。 这个命令会列出所有包含字符串 "8888" 的文件的名称以及匹配的行。如果你只想看到文件名,而不看具体的匹配行,可以加上 -l 选项: bash grep -rl "8888" . 这样,命令只会输出包含字符串 "8888" 的文件名。
116 1
|
8月前
|
Java
Java实现1.指定关键字搜索 2.指定后缀名搜索 3.文件/文件夹复制
Java实现1.指定关键字搜索 2.指定后缀名搜索 3.文件/文件夹复制
49 1