FWIW, I think I've heard/seen other developers do this too.

That said, have you actually *measured* the impact (in terms of global symbol 
reduction) you are able to achieve at compile and/or link time?

Reason I ask is that its my impression that as HDF5 library is currently 
designed and implemented, using any one piece of it can *easily* wind up 
bringing in >90% of it.

Now, that is my *impression* only based on very limited examinations of 
executables with 'nm' tool and without really *trying* to be sure I am not 
doing something stupid.

Mark


"Hdf-forum on behalf of Elvis Stansvik" wrote:

Hi all,
I'm using the C API and I'm currently using e.g.
#include <H5Tpublic.h>
#include <H5Apublic.h>
...
in order to include only what I need and nothing more. (I believe these headers 
were called just H5T.h, H5A.h etc in the past BTW).

I'd just like to know if it's supported to be specific like this, or if I can 
expect trouble? Should I always include the hdf5.h mega-header? (That's what's 
recommended at 
https://support.hdfgroup.org/HDF5/doc/H5.intro.html#Intro-Include). The 
mega-header seems to just include all the _public.h headers, followed by a few 
others for I/O stuff.
When it comes to the high-level API, the story seems to be a little different. 
It also has _public.h headers for the modules, but the mega-header (hdf5_hl.h) 
seems to pull in hdf5.h before including all the _public.h headers, and the 
_public.h headers don't seem to do this on their own. So I guess using the 
mega-header is definitely the recommended way for the high-level API? (would 
have been nice if the _public.h were directly includable).
Thanks in advance,
Elvis
_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5

Reply via email to