4 ms·
Header only usually means terrible compile times. So what they are saving from writing a few lines of Makefile they will pay forever in far longer feedback loop
by nn3 6y ago
Header only usually means terrible compile times. So what they are saving from writing a few lines of Makefile they will pay forever in far longer feedback loops during development. Also it's well known that if the compile time goes over a specific threshold the development productivity drops dramatically because you can't do interactive debugging and exploration anymore. It's really a terrible tradeoff.
- panic 6y agoAt least in C, "header only" libraries typically require a #define LIBRARYNAME_IMPLEMENTATION somewhere in a .c file to define the symbols declared in the header. That way you're not including a copy of every function in every object file, which is what would slow down compile times. C compilers are very fast at skipping #ifdef blocks.