MATLAB Answers

0

How to call .dll functions?

Saleha Fatema さんによって質問されました 2019 年 1 月 4 日
最新アクティビティ Philip Borghesani さんによって 編集されました 2019 年 1 月 4 日
HI,
I am running a code which calls a function of .dll extension file tye. I also have the same function in C. Can anyone please tell me how to do that?
I am attaching the code and necessary function files.

  0 件のコメント

サインイン to comment.

タグ

2 件の回答

Image Analyst
Answer by Image Analyst
on 4 Jan 2019

Use the MATLAB function loadlibrary().

  3 件のコメント

The problem with loading the c file is that I do not have the required header file. That's why I couldn't use the function loadlibrary().
Image Analyst
on 4 Jan 2019
You need the h file and the dll file. If you don't have the h file, ask the developer/manufacturer of the DLL.
The developer mentioned the file as "binary MEX files". To call a MEX file, header is not required, right? According to mathworks just the name of the file, without the file extension is enough.

サインイン to comment.


Answer by Philip Borghesani on 4 Jan 2019
Edited by Philip Borghesani on 4 Jan 2019

Mex files are normaly called just like other Matlab functions there is no need for loadlibrary. On Windows all mex files are actually dlls but MATLAB has used the extensions mexw32 and mexw64 for many years. 32 bit versions of MATLAB may still recognize .dll files as mex files but no 64 bit copy (R2016a or later) of MATLAB can use one. It is possible that you can simply rebuild this file using the mex command, but this mex file appears to be written in 2001 and last modified in 2006 so I doubt it has been built and tested on 64 bit Windows or with a recent MATLAB, there may be other issues.

  0 件のコメント

サインイン to comment.



Translated by