是否有一种自动方式来优化C++中头文件的包含,从而提高编译时间?"自动"一词是指工具或程序.是否有可能找到哪些头文件已过时(例如,未使用暴露的功能)?
编辑:让每个包含标题"只包含一次是一件重要的事情,但有没有办法甚至更改文件的内容,以便经常使用的"功能"在特定包含和不常用的功能是在其他包括?我要求太多?不幸的是,我们正在谈论一个包含数千个文件的现有代码库.它可能是我实际要求的重构工具吗?
谢谢.
在gcc或clang(或任何其他编译器)中是否有一种方法可以吐出有关结构是否有空洞(内存对齐方式)的信息?
谢谢.
ps:如果还有其他办法,请告知我.
当我编译以下代码片段时,我得到了一个带有clang的编译器错误,但是没有使用g ++/MSVC:
#include <string>
template<typename T> struct Const {
explicit Const(T val) : value(val) {}
T value;
};
template<typename T> struct Var {
explicit Var(const std::string &n) : name(n) {}
std::string name;
};
template<typename L, typename R> struct Greater {
Greater(L lhs, R rhs) : left(lhs), right(rhs) {}
L left;
R right;
};
template<typename L>
Greater<L, Const<int> > operator > (L lhs, int rhs) {
return Greater<L, Const<int> >(lhs, Const<int>(rhs));
}
template<typename R>
Greater<Const<int>, R> operator > (int lhs, R …Run Code Online (Sandbox Code Playgroud)