在C 项目中剩下未使用的类的缺点是什么?
What are the drawbacks of having unused classes left in a c++ project?
假设我有一个名为 foo
的类,该课程执行了一些我发现的功能,库是由库bar
完成的。
假设我删除了所有参考文献并且包括foo
,是否仍然会导致运行时间/编译时间效率低下,并且我是否必须从项目中删除代码,或者是我所做的足够的事情,或者该编译器依赖于<<<<<<<<<<<<
如果您仍在编译包含未使用的代码的文件,则可以影响您的编译时间。
如果您要构建图书馆,那么即使未使用的类型也将包括在内,因此它会影响您的库大小。
运行时间影响将是最小的,但不是零 - 加载库时,动态链接器仍需要在您的类型上花费几个纳秒。
如果您要构建可执行文件,则任何不错的编译器/链接器都应该能够消除未使用的代码,因此唯一的影响是对构建时间。
删除死亡代码。让您的版本控制系统(git,cvs,whyther)记住它的后代,但要
是的,您应该从项目中删除未使用的代码。原因不是效率或代码尺寸,而是任何现代链接器都不会产生影响),而是一种称为"软件腐烂"的现象。
如果您未使用过,但您的项目中有可用的代码,则迟早会有人尝试再次使用它,但是由于该代码不可用且未维护,因此代码可能会过时,并且可能在生产中引起严重的问题。进一步阅读:https://en.wikipedia.org/wiki/software_rot
这不是一个空的威胁 - 由于与软件腐烂有关的软件错误而损失了全部资金,因此一旦消除了整个交易公司的类似事情:https://dougseven.com/2014/04/17/Knightmare-a-devops-aiverary-tale/
它取决于链接器。
如果构建链中的程序(编译器,链接器等)可以检测到没有使用任何符号,则可以安全地删除它们。
此外,如果类未使用,则无法确定已将其删除 - 因此,任何适当的链接器都会将其删除。
- 使用rdtsc进行基准测试的缺点是什么
- 将字段(在类中)定义为引用的缺点是什么?
- 嵌套向量的缺点是什么?
- 模板而不是接口的缺点是什么?(C++)
- 在C 项目中剩下未使用的类的缺点是什么?
- 在64位系统上创建一个非常大的数组的缺点是什么
- C++协方差返回类型的缺点是什么
- 在将GITHUB库包含在您的项目中之前,汇编GitHub库的优点 /缺点是什么?
- 单源项目结构的缺点是什么?
- 仅使用UDP托管小型服务器应用程序的缺点是什么
- 抛弃灾难的例外 - 缺点是什么
- 使用继承来减少重复代码的缺点是什么
- 以不同方式实现可变参数构造函数的模板类:每个版本的优点和缺点是什么
- 如果使单一实例构造函数受到保护,缺点是什么 - 继承 - C++11.
- 为C++提供标准GUI库的缺点是什么
- 如何访问类变量?公共方法/getters与继承.优点和缺点是什么
- 对所有异常使用一个基类的缺点是什么?
- 使用AVL树的缺点是什么?
- "upcasting"的缺点是什么?
- OpenGL函数在命名空间gl中的缺点是什么?