What is mkl.h and mkl_c.lib ?

What is mkl.h and mkl_c.lib ?

I very naive question.
What is mkl_c.lib ? Is it a C wrapper library (C code compiled into lib) to use LAPACK routines in c ? OR is it the original fortranlib file (Fortran code compiled to a lib).
I understand mkl.h is the (only) header that we need to use all the MKL routines.
I come to this question since I have code that runs fine in VC++ 6.0 but does not run at all with VC++.NET with managed extensions. Any function that doesnt take a char parameter works but the one with char parameter doesnt work. I am wondering if I need to pass the character in fortran style.

Thanks for your patience.

2 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

MKL is largely independent of compilers. But interfaces as defined by various standards change. MKL supports two interfaces - cdecl and Compaq Visual Fortran default, which is very similar to stdcall except in how strings are passed.

So, mkl_c.lib supports cdecl and mkl_s.lib supports CVF default.

All characters are to be passed by reference just like other scalars are since underneath is a routine that obeys Fortran rules.

If you use Microsoft tools, you should link to mkl_c.lib.


Leave a Comment

Please sign in to add a comment. Not a member? Join today