3 ms·
Just a couple of points. 1. It is an error to couple this library closely enough to the rest of a project's code to cause the condition you note to exist. This
by Iftheshoefits 12y ago
Just a couple of points.
1. It is an error to couple this library closely enough to the rest of a project's code to cause the condition you note to exist. This kind of library is best used in a small project or as part of the implementation of a user-defined abstraction interface (an abstraction specific to his project's use cases that would not make sense being included in the library code). A small project will compile quickly anyway, and the second kind of project will only need to be compiled if the abstraction's interface changes.
2. C++ compile times aren't that bad. I won't argue that it's not bad in large code bases: it indeed becomes atrocious when the codebase becomes large and spread out over a large number of compilation units (or when coupling is excessive).
- frankzinger 12y ago> 1. It is an error to couple this library closely enough to the rest of a project's code to cause the condition you note to exist. Any compilation unit (source file/module) which calls a function in this library will have to be recompiled if any of the called functions change which means that your application will also have to be re-linked. There's just no way of getting around that.