减少搜索头文件的目录数

简介: 本文转自李云的博客: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%。

目录
相关文章
|
1月前
|
IDE 开发工具 iOS开发
Python编程案例:查找指定文件大小的文件并输出路径
Python编程案例:查找指定文件大小的文件并输出路径
|
5月前
如何搜索[仅有1个文件]或[指定个数范围、名称、类型文件等复杂情况]的文件夹
该文介绍了使用特定工具批量搜索文件夹的教程。首先,从提供的百度网盘或蓝奏云链接下载工具。然后打开工具,切换到批量复制板块,并通过快捷键Ctrl+5进入。接着,在工具边缘触发搜索添加功能,选择要搜索的文件夹并设置过滤条件。在过滤窗口中,根据文件和文件夹的数量以及指定的后缀名(如.html)来设定条件。例如,设置条件查找仅包含1个.html文件的文件夹。应用过滤条件后开始搜索,结果将显示在界面中,可通过双击行号或右键操作来查看和管理搜索结果。通过调整过滤条件的精确度,可以更准确地找到所需内容。该方法适用于各种复杂的搜索需求,结合不同按钮和选项能实现更多功能。
which-find命令,which cd 指令可以查看指令的存放位置,find命令相当于文件的搜索框,find / -name “test“,从目录 / 开始进行搜索, 按照文件名搜索,搜索test
which-find命令,which cd 指令可以查看指令的存放位置,find命令相当于文件的搜索框,find / -name “test“,从目录 / 开始进行搜索, 按照文件名搜索,搜索test
|
6月前
|
Windows
(文件[夹]批量分类整理_多级匹配_交叉匹配_路径结构交叉调整)文件[夹]批量复制
该文介绍了如何使用特定工具进行批量文件整理。首先,需要从提供的百度网盘和蓝奏云链接下载工具,并用提取码解锁。接着,打开工具的批量复制功能,将待整理的图片文件拖入“来源路径”,目标文件夹拖入“终点路径”。通过层级过滤排除不需要的路径。然后,利用多级匹配设置,提取文件名和路径中的关键词,如“动物”、“小型”、“食草”等,设置复制后的文件重命名规则。最后,执行批量复制,完成文件的智能分类与命名。整个过程旨在根据文件的原始分类信息,自动将其移动到相应的新目录结构下。
|
6月前
|
存储 数据管理 Serverless
Python实现:教你轻松统计文件夹下文件个数
Python实现:教你轻松统计文件夹下文件个数
|
6月前
|
Java
Java实现1.指定关键字搜索 2.指定后缀名搜索 3.文件/文件夹复制
Java实现1.指定关键字搜索 2.指定后缀名搜索 3.文件/文件夹复制
45 1
|
6月前
|
JavaScript
nodejs统计文件/文件夹数量
nodejs统计文件/文件夹数量
|
Linux Windows
路径中,连续多个目录分隔符不影响,仍按照一个处理
路径中,连续多个目录分隔符不影响,仍按照一个处理
100 0
|
C语言
gcc中使用rpath指定优先搜索路径
gcc中使用rpath指定优先搜索路径
147 0
|
Shell
自定义VBS脚本(统计在指定文件中搜索字符串出现的次数)
'=========================================================================='' VBScript Source File -- Created with SAPIEN Technologies PrimalScript 4.
943 0