loading functions defined in header file with loadlibrary()

1 vue (au cours des 30 derniers jours)
Kaleb Barrett
Kaleb Barrett le 19 Août 2016
Commenté : Kaleb Barrett le 21 Août 2016
Background: Where I work, we use data acquisition units that record data in the manufacturer's proprietary format. However, we mainly use MATLAB for analyzing the data. In the past we would have to use the manufacturer's software to export the data into another format (usually CSV) before being able to import it into MATLAB. This is incredibly slow. Recently, I learned the manufacturer provides a closed-source library for dealing with the data files. I'd like to be able to use this library with MATLAB so the data can be directly imported into MATLAB for analysis.
Question: When I use loadlibrary() on the dll and header file I get errors about missing functions. These missing functions are defined in the header file and I'm guessing that MATLAB does not import functions defined in headers. Is this the case? And if it is, what is the best way to get around it?
  4 commentaires
James Tursa
James Tursa le 19 Août 2016
Modifié(e) : James Tursa le 19 Août 2016
Are you sure that specific header file goes with the specific library file you are using? Looks like a mismatch.
Kaleb Barrett
Kaleb Barrett le 21 Août 2016
Yes, I'm absolutely sure. The basic architecture of the library is that library functionality is only made available through function pointers that loadFunction and friends initialize. There is another header file with typedefs to cast the raw function pointers so you can call the loaded library functions. It's a common late binding technique, although probably unnecessary in this case.
Unless MATLAB has some hidden functionality to import functions defined in header files I'm thinking the easiest way this is going to be worked around is by writing a wrapper library that exposes the library functions as they are, without the late loading.

Connectez-vous pour commenter.

Réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by