Query regarding HDF5

Hi,

  I have a question regarding the library. If I compile the HDF5
distribution using Intel MPI, can I use the library in an application built
using another compiler?

Regards
Suman Vajjala

C is binary compatible, no problem there. C++ is another matter.

I don't know much about the different FORTRAN flavors. Good luck! G.

···

From: Hdf-forum [mailto:hdf-forum-bounces@hdfgroup.org] On Behalf Of Suman
Vajjala
Sent: Sunday, March 17, 2013 1:26 AM
To: HDF Users Discussion List
Subject: [Hdf-forum] Query regarding HDF5

Hi,

  I have a question regarding the library. If I compile the HDF5
distribution using Intel MPI, can I use the library in an application built
using another compiler?

Regards
Suman Vajjala

C is binary compatible, no problem there. C++ is another matter.****

I don’t know much about the different FORTRAN flavors. Good luck! G. ****

**

C is binary compatible in a sense that there is no name mangling, but
different compilers may need different C runtimes, specially if there is
memory allocation/deallocation across the libraries it will be a disaster.
With C++ one may have to also worry about exception handling.
The approach I take with 3rd party libraries that I have no control over is
to try it, and look at the symbols and runtimes it links against, if there
are no incompatible runtimes or incompatibilities do not show up, it is
most likely safe.

···

On Mon, Mar 18, 2013 at 2:40 PM, Gerd Heber <gheber@hdfgroup.org> wrote:

**

Hi,****

  I have a question regarding the library. If I compile the HDF5
distribution using Intel MPI, can I use the library in an application built
using another compiler?****

Regards
Suman Vajjala ****

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

C is binary compatible in a sense that there is no name mangling, but
different compilers may need different C runtimes, specially if there is
memory allocation/deallocation across the libraries it will be a disaster.

This is especially true if you are on Windows. Each version of Visual
Studio will link against a different runtime. Even debug and release are
different runtimes.

The most important thing to ensure is that memory allocation and freeing
are done in the same runtime. Also file opens and closes. Otherwise you
will get bugs that are very difficult to track down.

Dana