跟进此question:
当我include <iostream>
时
碰巧它包含来自/usr/include
。grep "\usr\include"
超过g++ -E prog.cpp
的许多文件,大约有1260个条目;)。
他们是否有办法控制各种档案?
平台:Linux
G ++版本:4.2.4
答案 0 :(得分:11)
答案 1 :(得分:3)
我的建议是不要担心编译器包含多少文件。更多关注正确性,稳健性,和时间表。如果构建时间是一个问题,请获得更快的机器,一夜之间构建,继续散步,或将代码划分为更小的翻译单元。翻译单元应足够小,以包含不经常更改的代码。 变化是邪恶的。
构建系统的基础是只编译已更改的少数文件。如果您的开发过程正常运行,随着项目的增长,构建时间将越来越多地存在于链接阶段。
如果编译时间仍然很长,请查看您的编译器是否支持预编译头。通常,这是编译器以更有效的形式存储所有声明和定义的方法。
答案 2 :(得分:2)
您需要使用流时#include <iostream>
。这应该定义你需要的一些东西。它需要多少活动才能实现质量问题。您可以从/usr/include
中删除文件,但这会破坏事情。
我真的怀疑它包括1260个文件。几乎可以肯定,大多数是重复的条目,不加载任何东西,但不会从-E
输出中删除。