What is mkl.h and mkl_c.lib ?

What is mkl.h and mkl_c.lib ?

Bild des Benutzers Community Admin

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 Beiträge / 0 neu
Letzter Beitrag
Nähere Informationen zur Compiler-Optimierung finden Sie in unserem Optimierungshinweis.
Bild des Benutzers Community Admin

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.


Melden Sie sich an, um einen Kommentar zu hinterlassen.