logoalt Hacker News

skobesyesterday at 11:53 PM3 repliesview on HN

Why is the whole implementation in header files?


Replies

csmantletoday at 12:04 AM

Header-only libs can help avoiding the troubles and complexity of linker setup. This might be even more important on Windows, which this lib "explicitly support".

zarzavattoday at 10:33 AM

Wait until you find out about boost!

socalgal2today at 1:47 AM

short answer, because C/C++ sucks. To work around how bad C/C++ sucks people put the entire implementation into one file. That way, there's less question of how you need to integrate it into your project.

In more modern langauges, this is a solved problem and it's easy to use other people code. In C/C++, it's not. As a relavant example, try using FreeType in your C/C++ project, make sure your solution compiles on Linxu, and Mac, and Windows (and ideally other platforms)

show 1 reply