相关疑难解决方法(0)

在C/C++中检测多余的#includes?

我经常发现文件的标题部分一直变得越来越大但它永远不会变小.在源文件的整个生命周期中,类可能已经移动并被重构,很可能有很多#includes不需要在那里再存在.将它们留在那里只会延长编译时间并增加不必要的编译依赖性.试图弄清楚哪些仍然需要可能是相当繁琐的.

是否有某种工具可以检测多余的#include指令并建议哪些可以安全删除?
lint可能这样做吗?

c c++ refactoring dependencies include

272
推荐指数
9
解决办法
9万
查看次数

未使用包含C/C++中的有害物质吗?

未使用包含的负面后果是什么?

我知道它们导致二进制大小增加(或者它们?),还有其他什么?

c++

72
推荐指数
6
解决办法
5387
查看次数

#include <stdio.h>在ac程序中真的做了什么

我是c编程的新手,我编写了一些简单的程序"Hello world"风格.

在所有这些程序中,我放在#include<stdio.h>顶部,但我不确定这究竟是什么意思.我用谷歌搜索它,我发现stdio.h是一个具有预处理器命令的文件,但什么是预处理器?我想当我编写代码时,我编译它并且我的代码转换为"计算机"可以读取的形式然后我可以运行它.有人可以向我解释这个命令的用法是什么吗?

c stdio include

20
推荐指数
2
解决办法
6万
查看次数

在C/C++中包含未使用的头文件会有性能影响吗?

我有一个项目,其中每个C/C++文件使用一堆头文件.但是每个C/C++文件使用的头文件大约有70-80%是相同的.因此,为了使我的代码更具可读性,我计划将项目中需要的所有头文件common_headers.h包含在单个头文件中,并将其包含在我的所有C/C++文件中,如下所示:

#include "common_headers.h"
Run Code Online (Sandbox Code Playgroud)

现在,这将包括所有必需的标题,但也包含一些单独文件不会使用的额外标题.我想知道如果这样做,是否会在运行时以任何机会达到性能?

我很好,有几毫秒的额外延迟来编译代码,但我想知道这是否会影响我的运行时性能?

使用的标题说明:

  1. 其中大多数是标准的C/C++标头.
  2. 用户定义的标题中包含内联模板函数.
  3. 用户定义的标头中没有静态函数.

这是我的编译器:g ++(GCC)4.4.7 20120313(Red Hat 4.4.7-3)

c c++ performance header-files

7
推荐指数
1
解决办法
2780
查看次数

标签 统计

c ×3

c++ ×3

include ×2

dependencies ×1

header-files ×1

performance ×1

refactoring ×1

stdio ×1